15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın
08.10.2024

Vi/Vim Editörü Ubuntu’da Nasıl Kullanılır: Eksiksiz Teknik Referans Kılavuzu

Vi ve Vim (Vi Improved), tamamen terminal içinde çalışan, modal, klavye odaklı metin editörleridir; bu da onları Ubuntu ve diğer Linux dağıtımlarında sunucu yönetimi, uzak yapılandırma düzenleme ve betik iş akışları için vazgeçilmez kılar. Vim, Vi’nin üzerine sözdizimi vurgulama, çok seviyeli geri alma, bölünmüş pencereler, eklenti desteği ve betiklenebilir bir yapılandırma katmanı ekler — tüm bunları ihmal edilebilir sistem kaynakları tüketerek yapar.

Bir VPS Hosting ortamı veya bare-metal sunucu yönetiyorsanız, Vim’e hakimiyet isteğe bağlı değildir — bu temel bir beceridir. SSH oturumlarında her zaman GUI erişimi olmaz ve Vim, dokunacağınız neredeyse her Unix tabanlı sistemde evrensel olarak mevcuttur.

Vim Neden Sunucu Ortamlarına Hâkim Olmaya Devam Ediyor

Modern IDE’ler güçlüdür, ancak gece saat 2’de bozuk bir Nginx yapılandırmasını hatasını ayıklamak için SSH üzerinden başsız bir Ubuntu sunucusuna bağlandığınızda bunların hiçbir önemi yoktur. Vim’in modal tasarımı, her tuş vuruşunun bir komut olduğu anlamına gelir — fare bağımlılığı yoktur, render yükü yoktur ve grafik katmanının getirdiği gecikme yoktur.

Sistem yöneticilerinin Vim’e güvenmesinin temel nedenleri:

  • Sıfır harici bağımlılık: Düşük bant genişliği veya yüksek gecikmeli bağlantılar dahil her SSH bağlantısı üzerinden çalışır
  • Tutarlı erişilebilirlik: Debian, Ubuntu, CentOS, Alpine ve neredeyse her Linux dağıtımında önceden yüklenmiş veya kolayca kurulabilir
  • Ölçekte hız: Kas hafızası oluşturulduktan sonra binlerce satırlık yapılandırma dosyalarını, log dosyalarını veya betikleri düzenlemek Vim’de herhangi bir GUI editöründen daha hızlıdır
  • Betiklenebilirlik: Vim’in yerleşik betik dili (Vimscript) ve Lua desteği (Neovim’de), tekrarlayan düzenleme görevlerinin tam otomasyonuna olanak tanır

Ubuntu’ya Vim Kurulumu

Ubuntu, sözdizimi vurgulama, çok dosya desteği ve birçok gelişmiş özellikten yoksun minimal bir `vim-tiny` paketiyle birlikte gelir. Tam işlevsellik için eksiksiz paketi kurun:

“`bash

sudo apt update

sudo apt install vim -y

“`

Kurulu sürümü doğrulamak ve tam özellik desteğini onaylamak için:

“`bash

vim –version

“`

Özellik bayraklarında `+syntax`, `+clipboard`, `+python3` ve `+multi_byte` ifadelerini arayın. `-` öneki, o özelliğin ikili dosyadan derleme dışı bırakıldığı anlamına gelir. Bu özelliklere ihtiyaç duyuyorsanız ve bunlar yoksa, bunun yerine `vim-gtk3` veya `vim-nox` kurun:

“`bash

sudo apt install vim-nox -y # Headless full-feature build

sudo apt install vim-gtk3 -y # GTK3 build with clipboard integration

“`

Kritik uç durum: Docker konteynerlerinde veya cloud-init ile önyüklenmiş Dedicated Servers‘da kullanılanlar gibi minimal Ubuntu sunucu görüntülerinde — `vi` bile mevcut olmayabilir. Bu durumda, herhangi bir yapılandırma dosyası düzenlemeye çalışmadan önce `vim`’ı açıkça kurun.

Dosya Açma, Oluşturma ve Kurtarma

“`bash

vim filename.txt # Open existing file or create new one

vim /etc/nginx/nginx.conf # Open a system configuration file (use sudo if needed)

sudo vim /etc/ssh/sshd_config # Edit privileged files

vim +42 filename.txt # Open file and jump directly to line 42

vim +/searchterm file.txt # Open file with cursor on first match of searchterm

“`

Takas dosyası kurtarma: Vim, düzenleme sırasında otomatik olarak gizli bir takas dosyası (`.filename.txt.swp`) oluşturur. Oturumunuz çökerse veya SSH bağlantısı kesilirse, aynı dosyayı yeniden açın; Vim sizi kaydedilmemiş değişiklikleri kurtarmanız için yönlendirecektir. Her zaman önce `(R)ecover`’ı seçin, kurtarılan içeriği kaydedin, ardından takas dosyasını `:e` ve ardından `:!rm ~/.filename.txt.swp` ile veya `vim -r filename.txt` çalıştırarak silin.

Bu kurtarma mekanizması, üretim sunucularındaki kritik yapılandırma dosyalarını düzenlerken özellikle değerlidir — kesilen bir bağlantı, kaybedilen iş anlamına gelmez.

Vim’in Modal Mimarisini Anlamak

Vim’in modal tasarımı, içselleştirilmesi gereken tek en önemli kavramdır. Her tuş vuruşunun bir karakter eklediği standart editörlerin aksine, Vim gezinmeyi, düzenlemeyi ve komut yürütmeyi ayrı modlara ayırır.

ModEtkinleştirmeBirincil Amaç
**Normal**`Esc` (açılışta varsayılan)Gezinme, silme, kopyalama, yapıştırma, makro yürütme
**Insert**`i`, `a`, `o`, `O`, `I`, `A`Metin yazma ve ekleme
**Visual**`v` (karakter), `V` (satır), `Ctrl+v` (blok)Metin aralıklarını seçme
**Visual Block**`Ctrl+v`Sütun tabanlı seçim ve düzenleme
**Command-Line**`:`Dosya işlemleri, arama/değiştirme, ayarlar, harici komutlar
**Replace**`R`Mevcut karakterlerin üzerine yazma
**Ex**`Q`Toplu komut yürütme (etkileşimli olarak nadiren kullanılır)

En yaygın başlangıç hatası, Normal modda metin görünmesini bekleyerek tuşlara basmak, ardından `dd`’ın bir satırı sildiğini veya `gg`’ın dosyanın başına atladığını görünce paniğe kapılmaktır. Ekranın sol alt köşesini kontrol ederek her zaman mevcut modunuzu doğrulayın — Insert modu `– INSERT –` gösterir, Visual modu `– VISUAL –` gösterir ve Normal mod hiçbir şey göstermez.

Normal Modda Gezinme Komutları

Verimli gezinme, yalnızca işlevsel olan bir Vim kullanıcısını gerçekten hızlı olandan ayıran şeydir. Bunları öncelik sırasına göre öğrenin:

Temel İmleç Hareketi

TuşEylem
`h`Bir karakter sola git
`l`Bir karakter sağa git
`j`Bir satır aşağı git
`k`Bir satır yukarı git
`w`Sonraki kelimenin başına atla
`b`Önceki kelimenin başına atla
`e`Mevcut kelimenin sonuna atla
`0`Satırın başına atla
`^`Satırın ilk boşluk olmayan karakterine atla
`$`Satırın sonuna atla

Dosya Düzeyinde Gezinme

TuşEylem
`gg`Dosyanın ilk satırına atla
`G`Dosyanın son satırına atla
`:42`42. satıra atla
`Ctrl+f`Bir tam sayfa ileri kaydır
`Ctrl+b`Bir tam sayfa geri kaydır
`Ctrl+d`Yarım sayfa aşağı kaydır
`Ctrl+u`Yarım sayfa yukarı kaydır
`%`Eşleşen parantez, köşeli parantez veya süslü paranteze atla
`*`İmleç altındaki kelimenin sonraki geçtiği yere atla
`#`İmleç altındaki kelimenin önceki geçtiği yere atla

İleri düzey kullanıcı ipucu: Herhangi bir hareket komutunun önüne tekrarlamak için bir sayı ekleyin. `5j` 5 satır aşağı gider. `3w` 3 kelime ileri atlar. `10dd` 10 satırı siler. Bu sayısal çarpan, neredeyse her Normal mod komutuna uygulanır ve hızlı düzenlemenin anahtarıdır.

Insert Moduna Girme ve Çıkma

TuşDavranış
`i`İmleçten önce ekle
`a`İmleçten sonra ekle
`I`Satırın başına ekle
`A`Satırın sonuna ekle
`o`Aşağıya yeni satır aç ve Insert moduna gir
`O`Yukarıya yeni satır aç ve Insert moduna gir
`s`İmleç altındaki karakteri sil ve Insert moduna gir
`S`Tüm satırı sil ve Insert moduna gir
`Esc` veya `Ctrl+[`Normal moda dön

Kritik alışkanlık: Bir metin eklemesini bitirdikten hemen sonra `Esc`’a basma refleksini geliştirin. Gezinmeye niyetlenirken Insert modunda kalmak, kazara yapılan düzenlemelerin kaynağıdır.

Kaydetme, Çıkma ve Dosya Yönetimi

Bu komutlar Command-Line modundan yürütülür (önce `:`’a basın):

KomutEylem
`:w`Mevcut dosyayı kaydet (yaz)
`:w filename.txt`Yeni bir dosya adıyla kaydet
`:q`Çık (yalnızca kaydedilmemiş değişiklik yoksa)
`:q!`Tüm kaydedilmemiş değişiklikleri atarak zorla çık
`:wq` veya `:x`Kaydet ve çık
`ZZ`Kaydet ve çık (Normal mod kısayolu)
`ZQ`Kaydetmeden çık (Normal mod kısayolu)
`:w !sudo tee %`sudo ayrıcalıkları olmadan açtığınız bir dosyayı kaydet

`:w !sudo tee %` hilesi, sunucu yöneticileri için temel bilgidir. `/etc/fstab` gibi bir sistem dosyasını sudo olmadan açıp değişiklik yaptığınızda, `:w` ile kaydedemezsiniz. Bu komut, tampon içeriğini yükseltilmiş ayrıcalıklarla dosyayı yazmak için `sudo tee` üzerinden aktarır — Vim’i kapatıp yeniden açmaya gerek kalmadan.

Düzenleme İşlemleri: Silme, Kopyalama, Yapıştırma ve Geri Alma

Vim’in düzenleme modeli operatörler + hareketler üzerine kuruludur. Bir operatör (silmek için `d` veya yank/kopyalamak için `y` gibi), bir hareketle (kelime için `w` veya satır sonu için `$` gibi) birleştirildiğinde hassas bir düzenleme eylemi oluşturur.

Temel Düzenleme Komutları

KomutEylem
`x`İmleç altındaki karakteri sil
`X`İmleçten önceki karakteri sil
`dd`Mevcut satırın tamamını sil (kes)
`D`İmleçten satır sonuna kadar sil
`dw`İmleçten kelimenin sonuna kadar sil
`d$`İmleçten satır sonuna kadar sil
`d0`İmleçten satır başına kadar sil
`yy` veya `Y`Mevcut satırın tamamını yank et (kopyala)
`yw`İmleçten kelimenin sonuna kadar yank et
`p`İmleçten sonra yapıştır (veya satır bazlı yank’lar için mevcut satırın altına)
`P`İmleçten önce yapıştır (veya mevcut satırın üstüne)
`u`Son değişikliği geri al
`Ctrl+r`Son geri alınan değişikliği yeniden uygula
`.`Son değişikliği tekrarla (Vim’deki en güçlü komutlardan biri)
`~`İmleç altındaki karakterin büyük/küçük harf durumunu değiştir
`>>`Mevcut satırı bir seviye girintile
`<<`Mevcut satırın girintisini bir seviye azalt

`.` (nokta) komutu, başlangıç seviyesindeki kullanıcılar arasında tartışmasız en az kullanılan Vim özelliğidir. Son bileşik eyleminizi tekrarlar — `dw` ile bir kelimeyi sildiyseniz, `.`’a basmak bir sonraki kelimeyi siler. `cw` ile bir kelimeyi değiştirip bir yedek yazdıysanız, `.` aynı değişikliği bir sonraki geçtiği yere uygular. Bu, büyük dosyalarda tekrarlayan manuel düzenlemeleri ortadan kaldırır.

Visual Mod: Hassas Metin Seçimi

Visual mod üç seçim ayrıntı düzeyi sağlar:

  • `v` — Karakter bazlı visual seçim
  • `V` — Satır bazlı visual seçim (tüm satırları seçer)
  • `Ctrl+v` — Blok visual seçim (sütun düzenleme)

Bir seçim yaptıktan sonra operatörleri uygulayın:

TuşSeçim Üzerindeki Eylem
`d`Seçili metni sil
`y`Seçili metni yank et (kopyala)
`c`Değiştir (sil ve Insert moduna gir)
`>`Seçimi girintile
`<`Seçimin girintisini azalt
`~`Seçimin büyük/küçük harf durumunu değiştir
`:`Aralık önceden doldurulmuş olarak Command-Line moduna gir

Blok visual mod (`Ctrl+v`) gerçek dünya kullanım senaryosu: `#` ekleyerek 15 ardışık satırı yorum satırına dönüştürmeniz gereken bir yapılandırma dosyanız var. `Ctrl+v` ile bu satırların ilk sütununu seçin, `j` ile aşağı gidin, `I`’a (büyük i) basın, `#` yazın, ardından `Esc`’a basın. Vim eklemeyi seçilen tüm satırlara aynı anda uygular. Bu, diğer editörlerin çoğunda regex veya manuel tekrar gerektiren bir görevdir.

Arama ve Değiştirme

Arama

“`

/pattern Search forward for pattern (regex supported)

?pattern Search backward for pattern

n Jump to next match

N Jump to previous match

  • Search forward for word under cursor

Search backward for word under cursor

:noh Clear search highlighting

“`

Arama ve Değiştirme Sözdizimi

“`

:%s/old/new/g Replace all occurrences in entire file

:%s/old/new/gc Replace all with confirmation prompt for each

:%s/old/new/gi Case-insensitive replace across entire file

:10,20s/old/new/g Replace only within lines 10 through 20

:'<,'>s/old/new/g Replace within visually selected range

:%s/bwordb/new/g Replace whole word only (word boundary anchors)

“`

Regex desteği: Vim kendi regex lehçesini kullanır. `b` kelime sınırı, rakamlar için `d`, boşluk için `s` ve `+` (bir veya daha fazla) mevcuttur. Genişletilmiş regex sözdizimi için `v` ile önek ekleyin: `:%s/v(foo|bar)/baz/g` “foo” veya “bar” ile eşleşir ve “baz” ile değiştirir.

Birden Fazla Dosya, Tampon ve Bölünmüş Pencerelerle Çalışma

Vim’in gücü, karmaşık düzenleme oturumlarında en belirgin şekilde burada ortaya çıkar.

Tamponlar

Tampon, bir dosyanın bellekteki temsilidir. Vim aynı anda birçok tamponu açık tutabilir.

“`

:e filename Open a file into a new buffer

:ls or :buffers List all open buffers

:b2 Switch to buffer number 2

:bnext or :bn Switch to next buffer

:bprev or :bp Switch to previous buffer

:bd Delete (close) current buffer

“`

Bölünmüş Pencereler

“`

:split filename Horizontal split, open file in upper pane

:vsplit filename Vertical split, open file in right pane

Ctrl+w h/j/k/l Navigate between split panes

Ctrl+w = Equalize split pane sizes

Ctrl+w q Close current pane

“`

Sekmeler

“`

:tabnew filename Open file in a new tab

:tabnext or gt Switch to next tab

:tabprev or gT Switch to previous tab

:tabclose Close current tab

“`

Pratik senaryo: Bir VPS with cPanel üzerindeki bir web sunucusunun yapılandırmasını düzenlerken, sanal host dosyasını düzenlerken ana `nginx.conf`’a çapraz referans vermeniz gerekebilir. Her ikisini de `:vsplit /etc/nginx/nginx.conf` ile dikey bölünmüş olarak açın ve bölmeler arasında `Ctrl+w l` ve `Ctrl+w h` ile gezinin — diğerine başvurmak için bir dosyayı kapatmaya gerek yoktur.

Vim’i .vimrc ile Yapılandırma

Ana dizininizdeki `.vimrc` dosyası, Vim’in kalıcı yapılandırmasıdır. Vim her başladığında Vimscript olarak yürütülür.

“`bash

vim ~/.vimrc

“`

Önerilen Üretim Sunucusu Yapılandırması

“`vim

" Display settings

set number " Show absolute line numbers

set relativenumber " Show relative line numbers (great for jump commands)

set cursorline " Highlight the current line

set scrolloff=8 " Keep 8 lines visible above/below cursor when scrolling

" Indentation

set autoindent " Copy indent from current line on new line

set smartindent " Context-aware indentation for code

set expandtab " Convert tabs to spaces

set tabstop=4 " Tab width = 4 spaces

set shiftwidth=4 " Indentation width for >> and <<

" Search behavior

set hlsearch " Highlight all search matches

set incsearch " Show matches as you type

set ignorecase " Case-insensitive search

set smartcase " Override ignorecase if search contains uppercase

" Usability

set mouse=a " Enable mouse in all modes

syntax on " Enable syntax highlighting

set encoding=utf-8 " Default encoding

set clipboard=unnamedplus " Use system clipboard for yank/paste

set undofile " Persist undo history across sessions

set undodir=~/.vim/undo " Directory for persistent undo files

" Visual

set showmatch " Briefly jump to matching bracket

set laststatus=2 " Always show status line

set wildmenu " Enhanced command-line completion

“`

Önemli: `set undofile` yönergesi, diske kaydedilen kalıcı geri alma geçmişi oluşturur. Bu, bir dosyayı kapatıp günler sonra yeniden açabileceğiniz ve önceki oturumdan yapılan değişiklikleri hâlâ geri alabileceğiniz anlamına gelir. Bunu etkinleştirmeden önce geri alma dizinini oluşturun:

“`bash

mkdir -p ~/.vim/undo

“`

Bu, üretim sistemlerindeki yapılandırma dosyalarında aşamalı değişiklikler yaparken özellikle değerlidir — örneğin, birden fazla alan adı için SSL Certificates çalıştıran bir sunucuda PHP-FPM ayarlarını ince ayarlarken veya SSL parametrelerini düzenlerken.

Makrolar: Tekrarlayan Düzenlemeleri Otomatikleştirme

Makrolar, Vim’in en güçlü ve en az kullanılan özelliklerinden biridir. Bir makro, bir tuş vuruşu dizisini kaydeder ve bunları yeniden oynatır.

“`

qa Start recording macro into register 'a'

[actions] Perform any sequence of Normal/Insert mode commands

q Stop recording

@a Replay macro stored in register 'a'

@@ Replay the last executed macro

10@a Replay macro 'a' ten times

“`

Gerçek dünya örneği: 200 satırlı bir CSV dosyanız var ve her satırın ikinci alanını çift tırnak içine almanız gerekiyor. Makroyu ilk satırda kaydedin, `199@a` ile 199 kez tekrarlayın; dönüşüm bir saniyeden kısa sürede tamamlanır. Betik yazımına gerek yoktur.

İşaretler ve Atlamalar

İşaretler, bir dosya içindeki konumları yer imlerine eklemenize ve anında geri dönmenize olanak tanır.

“`

ma Set mark 'a' at current cursor position

'a Jump to the line of mark 'a'

`a Jump to the exact position of mark 'a'

'' Jump back to position before last jump

Ctrl+o Jump to previous position in jump list

Ctrl+i Jump to next position in jump list

:marks List all current marks

“`

Vim vs. Nano vs. Emacs: Doğru Terminal Editörünü Seçmek

ÖzellikVimNanoEmacs
**Öğrenme eğrisi**Dik (modal sistem)MinimalÇok dik
**Başlangıç süresi**Neredeyse anındaNeredeyse anındaDaha yavaş
**Bellek kullanımı**Çok düşükÇok düşükOrta ile yüksek arası
**Sözdizimi vurgulama**TamTemelTam
**Eklenti ekosistemi**KapsamlıMinimalKapsamlı
**Makro desteği**Yerel, güçlüYokYerel
**Bölünmüş pencereler**EvetHayırEvet
**Uzaktan düzenleme**SSH üzerinden yerel olarakSSH üzerinden yerel olarakTRAMP protokolü
**Yapılandırma karmaşıklığı**Orta (.vimrc)MinimalYüksek (Elisp)
**En iyi kullanım**İleri düzey kullanıcılar, sistem yöneticileriHızlı düzenlemeler, yeni başlayanlarGeliştiriciler, Lisp kullanıcıları

Sunucu yönetimi görevleri için — yapılandırma dosyalarını düzenleme, kabuk betikleri yazma, logları inceleme — Vim güç, erişilebilirlik ve hız açısından en iyi dengeyi sağlar. Nano, bilişsel yükü karşılayamadığınız tek seferlik düzenlemeler için kabul edilebilirdir. Emacs, terminalde yaşayan geliştiriciler için meşru bir seçimdir; ancak kaynak tüketimi ve başlangıç süresi, onu kısıtlı sunucu ortamlarında daha az pratik kılar.

Yaygın Tuzaklar ve Bunlardan Nasıl Kaçınılır

1. Üretim dosyalarını yedek almadan düzenlemek

Kritik sistem dosyalarını düzenlemeden önce her zaman yedek oluşturun:

“`bash

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

sudo vim /etc/nginx/nginx.conf

“`

2. sudo kullanmayı unutmak

Ayrıcalıklı bir dosyayı sudo olmadan açıp değişiklik yaptıysanız, düzenlemelerinizi kaybetmeden kaydetmek için `:w !sudo tee %` kullanın.

3. Yazmaçları karıştırmak

`dd` ile metin sildiğinizde, bu varsayılan yazmaç `"`’e gider. Ardından `yy` ile bir şey yank ederseniz, silinen metin üzerine yazılır. Silmeden önce bir yank’ı korumak için adlandırılmış yazmaçları kullanın: `"ayy` `a` yazmaçına yank eder ve `"ap` ondan yapıştırır.

4. Paylaşılan sistemlerde takas dosyaları bırakmak

`/tmp` veya çalışma dizinindeki Vim takas dosyaları, diğer kullanıcıları veya otomatik süreçleri karıştırabilir. `.vimrc`’de özel bir takas dizini yapılandırın:

“`vim

set directory=~/.vim/swap//

“`

Çift sondaki eğik çizgi, Vim’in takas dosyası adına tam dosya yolunu kodlamasına neden olarak çakışmaları önler.

5. Platformlar arası dosyalarda satır sonu sorunları

Windows’ta oluşturulmuş bir dosyayı düzenlerseniz, CRLF (`rn`) satır sonları olabilir. Vim her satırın sonunda `^M` gösterecektir. Bunu şununla düzeltin:

“`bash

:%s/r//g

“`

Pratik Temel Çıkarımlar Kontrol Listesi

Bunu Vim oturumlarından önce ve sırasında hızlı referans karar matrisi olarak kullanın:

  • Herhangi bir üretim dosyasını düzenlemeden önce: `cp file file.$(date +%Y%m%d%H%M%S).bak` ile zaman damgalı yedek oluşturun
  • Mod farkındalığı: Tuş vuruşları metin eklemiyorsa, `Esc`’a basın ve modunuzu doğrulayın
  • Hızlı kaydetme alışkanlığı: Her önemli değişiklikten sonra `Esc` ardından `:w`’a basın — sona kadar beklemeyin
  • `:set number` kullanın belirli bir satıra gitmeniz gerekiyorsa ve bunu `.vimrc`’de ayarlamadıysanız geçici olarak
  • Global arama/değiştirme için: `:%s/old/new/g`’ü körü körüne çalıştırmadan önce her zaman `:%s/old/new/gc` ile test edin (onaylı)
  • Açılışta takas dosyası istemi: Her zaman `(R)ecover`’ı seçin, içeriği kaydedin, ardından takas dosyasını silin
  • Sütun düzenlemeleri için: Manuel tekrar yerine `Ctrl+v` blok visual modunu kullanın
  • Kalıcı geri alma: Düzenli olarak yönettiğiniz herhangi bir sunucuda `.vimrc`’de `set undofile`’ı yapılandırın
  • Pano entegrasyonu: `p` beklenmedik içerik yapıştırıyorsa, `set clipboard=unnamedplus`’ın ayarlandığını ve `xclip` veya `xsel`’ın kurulu olduğunu kontrol edin
  • Şüphe duyduğunuzda: `:help keyword` herhangi bir komut veya seçenek için yerleşik belgeleri açar

İster Shared Web Hosting ortamlarında yapılandırma dosyalarını yönetiyor olun, ister Dedicated Servers üzerinde karmaşık altyapıyı sürdürüyor olun, Vim’in verimliliği zamanla katlanarak artar — içselleştirdiğiniz her komut, iş akışınızdaki sürtünmeyi kalıcı olarak ortadan kaldırır.

SSS

S: Ubuntu’da Vi ile Vim arasındaki fark nedir?

Modern Ubuntu sistemlerinde `vi`, genellikle azaltılmış uyumluluk modunda `vim`’e veya `vim-tiny`’e sembolik bir bağlantıdır. Gerçek Vi, sözdizimi vurgulama, çok seviyeli geri alma ve eklenti desteği olmayan 1976’nın orijinal editörüdür. Vim, Vi tuş bağlamalarıyla tam geriye dönük uyumluluğu korurken Vi’nin üzerine 100’den fazla özellik ekler.

S: Tamamen sıkışırsam Vim’den nasıl çıkarım?

Normal modda olduğunuzdan emin olmak için `Esc`’e birkaç kez basın, ardından `:q!` yazıp Enter’a basın. Bu, kaydetmeden zorla çıkar. Bu bile başarısız olursa (nadir, ancak özyinelemeli komut durumlarında mümkün), önce `Ctrl+c`’e ardından `:q!`’e basın.

S: Vim, dosyaları yerel olarak kopyalamadan SSH üzerinden düzenleyebilir mi?

Evet. Uzak dosyaları doğrudan SCP üzerinden düzenlemek için `vim scp://user@hostname//path/to/file` kullanın. Vim aktarımı şeffaf bir şekilde yönetir. Alternatif olarak, dosyayı çekmek, yerel olarak düzenlemek ve geri göndermek için `rsync` kullanın — bu, büyük dosyalar için daha hızlıdır.

S: Vim’in tanımadığı belirli bir dosya türü için sözdizimi vurgulamayı nasıl etkinleştiririm?

Mevcut oturum için bir dosya türünü manuel olarak atamak üzere `:set filetype=nginx` (veya `python`, `yaml`, `bash` vb.) çalıştırın. Belirli bir dosya uzantısı için kalıcı hale getirmek için `.vimrc`’nize `autocmd BufRead,BufNewFile *.conf set filetype=nginx` ekleyin.

S: Neovim, sunucu kullanımı için Vim’den daha iyi bir seçim midir?

Saf sunucu yönetimi görevleri için standart Vim yeterlidir ve daha evrensel olarak mevcuttur. Neovim, Lua tabanlı yapılandırma, daha iyi asenkron eklenti desteği ve yerleşik bir LSP istemcisi sunar — bunlar öncelikle geliştirme iş akışları için önemli avantajlardır. Yalnızca gerekli olanı kurduğunuz üretim sunucularında Vim, pragmatik seçim olmaya devam eder.

15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın