
Linux vim Metin Editörü: Hızlı Başlangıç Rehberi
Sunucuya SSH ile bağlandınız, sshd_config düzenlemek istiyorsunuz — vim açıldı ama nasıl çıkarsınız? Normal mod, Insert mod, :wq/:q!, navigasyon kısayolları ve .vimrc ile pratik sysadmin vim rehberi.
Linux vim Metin Editörü: Hızlı Başlangıç Rehberi (2026)
Sunucuya SSH ile ilk kez girdiniz. /etc/ssh/sshd_config dosyasını açıp Port 22'yi değiştirmek istiyorsunuz. vim /etc/ssh/sshd_config yazdınız — editör açıldı. "i" yazdınız, değişikliği yaptınız; şimdi nasıl kaydedip çıkacaksınız? Yanlış tuşa bastınız, ekran garip görünüyor, q yazmak hiçbir şey yapmıyor. İşte vim öğrenmenin tam da bu noktasında tıkandığı yer burası.
Bu rehber Buyukweb VDS müşterilerine yönelik; AlmaLinux 9, Ubuntu 22.04, Debian 12 ve RHEL 9 ortamlarında günlük sysadmin senaryolarıyla vim'i pratik biçimde anlatıyor.
Buyukweb perspektifi: VDS paketlerimiz unmanaged'dır; sunucu konfigürasyon dosyalarını (sshd_config, nginx.conf, my.cnf, /etc/hosts) doğrudan SSH üzerinden düzenlemeniz gerekir. AlmaLinux 9, Ubuntu 22.04, Debian 12 ve RHEL 9 kurulumlarında
vimya da en azındanvi(POSIX baseline) default gelir, kurulum gerektirmez. cPanel paylaşımlı hosting'de SSH jailed shell sunulduğundan vim erişimi kısıtlı olabilir; tam erişim için VDS gerekir. Tercih etmeyin (sıradan kullanıcı için): Sadece ara sıra bir konfigürasyon satırı değiştirecekseniznanoçok daha basittir — açarsınız, düzenlersiniz,Ctrl+Oile kaydeder,Ctrl+Xile çıkarsınız. vim öğrenmeye değer olduğu yer: düzenli sunucu yönetimi, script geliştirme, birden fazla dosyayı aynı anda pencerelerle düzenleme. Modal düzenleme bir kez içselleştiğinde ellerin klavyeden hiç ayrılmadan hızla çalışmaya başlar.
vim Neden Var? — Modal Düzenleme Avantajı
Klasik metin editörlerinde (nano, not defteri, VS Code) her zaman "yazma modundasınızdır" — ne yazarsanız dosyaya gider. vim ise modal çalışır: farklı modlarda aynı tuş farklı işler yapar. Bu ilk başta kafa karıştırıcıdır ama uzun vadeli avantajı şudur: elleriniz hiçbir zaman home row'dan (a-s-d-f / j-k-l-;) ayrılmaz.
Büyük bir konfigürasyon dosyasında :%s/worker_processes 1/worker_processes 4/g yazıp Enter'a basmak, fareyle bulup değiştirmekten çok daha hızlıdır. Makrolar, çoklu pencere, regex arama — bunların hepsi modal yapının üzerine inşa edilmiş.
vi vs vim vs neovim: vi, POSIX standardının gerektirdiği temel editör; her UNIX/Linux sisteminde bulunur. vim (Vi IMproved), vi'nin gelişmiş hali — söz dizimi renklendirme, çoklu sekme, plugin desteği, .vimrc konfigürasyonu. vim 9.x şu anki kararlı sürümdür. neovim 0.10+ ise vim'in topluluk tarafından yeniden yazılmış versiyonu; Lua tabanlı konfigürasyon, daha iyi plugin API ve async desteğiyle modern geliştirme ortamı arayanlar için cazip. Günlük sysadmin işleri için vim 9.x yeterlidir.
4 Mod — vim'in Temeli
| Mod | Nasıl Girilir | Ne Yapılır | Nasıl Çıkılır |
|---|---|---|---|
| Normal mod | Başlangıç / Esc |
Navigasyon, komut verme, kopyala-yapıştır | Zaten bu moddasınız |
| Insert mod | i, a, o, I, A, O |
Metin yazma | Esc veya Ctrl+C |
| Visual mod | v (karakter), V (satır), Ctrl+v (blok) |
Metin seçme, toplu işlem | Esc |
| Command mod | : (Normal moddayken) |
Kaydet, çık, arama-değiştirme, dosya işlemleri | Enter (komutu çalıştırır) / Esc (iptal) |
Altın kural: Nerede olduğunuzdan emin değilseniz Esc'ye birkaç kez basın — her zaman Normal moda dönersiniz.
Dosya Açma
vim /etc/ssh/sshd_config # Mevcut dosyayı aç
vim /etc/nginx/nginx.conf # Nginx config
vim yeni-dosya.sh # Yeni dosya oluştur (henüz diskte değil, kaydetince oluşur)
vim +45 /etc/mysql/my.cnf # 45. satırdan aç
vim +/Port /etc/ssh/sshd_config # "Port" kelimesinin ilk geçtiği satırdan aç
sudo vim /etc/hosts # Root yetkisi gerektiren dosyayı aç
cPanel hosting'de not: Jailed shell ortamında
vimerişimi yoksanano'yu deneyin ya da cPanel Dosya Yöneticisi'nden düzenleyin.
Kaydetme ve Çıkma — En Sık Sorulan
Command moda girmek için Normal moddayken : tuşuna basın. Ekranın altında : görünür.
:w → Kaydet (Write) — çıkmadan
:q → Çık (Quit) — değişiklik yoksa
:wq → Kaydet ve çık
:q! → Değişiklikleri iptal edip çık (zorla)
:x → Sadece değişiklik varsa kaydedip çık (:wq ile neredeyse aynı)
ZZ → Normal modda :wq kısaltması (Shift+Z, Shift+Z)
ZQ → Normal modda :q! kısaltması
Root gerektiren dosyada kaydedemedim (:w Permission denied): Dosyayı sudo vim ile açmadıysanız, Normal moddayken şunu yazın:
:w !sudo tee %
Bu komut dosyayı sudo ile yazar. Şifre sorabilir.
Navigasyon (Normal Mod) — Cheat Sheet
Temel Hareket
h ← Sol
j ↓ Aşağı
k ↑ Yukarı
l → Sağ
Mouse ya da ok tuşları da çalışır; ama vim'in gücü bu 4 tuşu içselleştirmekten gelir.
Kelime Bazlı Hareket
w Sonraki kelimenin başına
b Önceki kelimenin başına
e Mevcut/sonraki kelimenin sonuna
W Sonraki KELIME (boşlukla ayrılmış, noktalama dahil)
B Önceki KELIME
Satır Bazlı Hareket
0 Satırın başına (sütun 0)
^ Satırın ilk boşluk-olmayan karakterine
$ Satırın sonuna
Dosya Bazlı Hareket
gg Dosyanın başına
G Dosyanın sonuna
:45 45. satıra git (Command mod)
45G 45. satıra git (Normal mod)
Ctrl+f Bir ekran aşağı (forward)
Ctrl+b Bir ekran yukarı (backward)
Ctrl+d Yarım ekran aşağı
Ctrl+u Yarım ekran yukarı
İşaret ve Geri Atlama
ma 'a' işareti koy (a-z arası herhangi bir harf)
`a 'a' işaretine geri dön (backtick + harf)
'' Son atlamadan önceki konuma dön
Ctrl+o Atlamalar geçmişinde geri
Ctrl+i Atlamalar geçmişinde ileri
Insert Moda Geçiş — Nerede Yazmaya Başlarsınız?
Normal moddayken:
i İmlecin soluna ekle (en çok kullanılan)
a İmlecin sağına ekle (append)
I Satırın başına ekle (Shift+i)
A Satırın sonuna ekle (Shift+a)
o İmlecin altına yeni satır aç, Insert moda geç
O İmlecin üstüne yeni satır aç, Insert moda geç
Insert moddan çıkmak için: Esc ya da Ctrl+C
Düzenleme Komutları (Normal Mod)
Silme
x Karakter sil (imleç üzerindeki)
X Karakter sil (imleçten önceki, Backspace gibi)
dd Satırı sil (aslında "kes" — yapıştırılabilir)
dw Kelimeyi sil
d$ İmleçten satır sonuna kadar sil
d0 İmleçten satır başına kadar sil
dG İmleçten dosya sonuna kadar sil
3dd 3 satır sil
Kopyala (Yank) ve Yapıştır
yy Satırı kopyala (yank)
yw Kelimeyi kopyala
y$ İmleçten satır sonuna kadar kopyala
3yy 3 satır kopyala
p Yapıştır (imleçten sonra / satırın altına)
P Yapıştır (imleçten önce / satırın üstüne)
Değiştirme
r Tek karakteri değiştir (başka tuşa bas, Insert moda girmez)
cw Kelimeyi sil ve Insert moda geç
cc Satırı sil ve Insert moda geç
c$ Satır sonuna kadar sil ve Insert moda geç
Geri Al / İleri Al
u Geri al (undo)
Ctrl+r İleri al (redo)
. Son komutu tekrarla (çok kullanışlı)
Arama ve Değiştirme
Arama
/Port Aşağı doğru "Port" ara
?Port Yukarı doğru "Port" ara
n Aynı yönde sonraki eşleşme
N Ters yönde sonraki eşleşme
* İmleç üzerindeki kelimeyi aşağı ara
# İmleç üzerindeki kelimeyi yukarı ara
Arama vurgusunu kapatmak için: :noh (Command mod)
Toplu Değiştirme (Substitute)
:%s/eski/yeni/g Tüm dosyada değiştir
:%s/eski/yeni/gc Tüm dosyada değiştir — her seferinde onay sor (y/n/a/q)
:5,20s/eski/yeni/g 5-20. satırlar arasında değiştir
:s/eski/yeni/g Sadece mevcut satırda değiştir
:%s/worker_processess+[0-9]+/worker_processes 4/g Regex ile değiştir
Büyük/küçük harf duyarsız:
:%s/eski/yeni/gi— sonunaiekleyin.
Visual Mod — Seçim ve Toplu İşlem
v Karakter bazlı seçim başlat
V Satır bazlı seçim başlat
Ctrl+v Dikdörtgen (blok) seçim — birden fazla satırda aynı sütun aralığı
Seçim yapıldıktan sonra:
y Kopyala
d Sil/kes
> Girinti ekle (indent)
< Girinti azalt
: Command moda geç (seçilen satırlara komut ver)
Blok yorum ekleme örneği: nginx.conf'ta birden fazla satırı yoruma almak için:
- İlk satırın başına git
Ctrl+vile blok seçimi başlatjile aşağı inerek tüm satırları seçI(büyük i) ile Insert moda gir,#yazEsc— tüm satırlara#eklendi
Gerçek Sysadmin Senaryoları
Senaryo 1: sshd_config'de Port Değiştirme
sudo vim /etc/ssh/sshd_config
Dosya açıldı, Normal moddasınız:
/Port → "Port" satırını bul, Enter
n → Doğru satıra git (Port 22 olanı)
^ → Satır başına git
cw → Kelimeyi sil ("Port") ve Insert moda geç
Port → Tekrar yaz (zaten aynı)
Esc → Normal moda dön
w → Sonraki kelimeye git (22 üzerinde)
cw → 22'yi sil, Insert moda geç
2222 → Yeni port numarasını yaz
Esc :wq Enter → Kaydet ve çık
Ardından servisi yeniden yükleyin: sudo systemctl reload sshd
Senaryo 2: nginx.conf'ta worker_processes Güncelleme
sudo vim /etc/nginx/nginx.conf
:%s/worker_processess+[0-9]+/worker_processes 4/g
:wq
Config test: nginx -t ardından sudo systemctl reload nginx
Senaryo 3: /etc/hosts'a Kayıt Ekleme
sudo vim /etc/hosts
G → Dosya sonuna git
o → Son satırın altına yeni satır aç, Insert moda geç
192.168.1.10 db.internal
Esc :wq Enter → Kaydet ve çık
Normal Mod Kısayol Cheat Sheet (30+ Komut)
| Komut | Açıklama |
|---|---|
h j k l |
Sol / Aşağı / Yukarı / Sağ |
w / b / e |
Sonraki / önceki kelime başı / sonu |
0 / ^ / $ |
Satır başı / ilk karakter / sonu |
gg / G |
Dosya başı / sonu |
Ctrl+f / Ctrl+b |
Ekran aşağı / yukarı |
i / a / I / A |
Insert: önce / sonra / satır başı / sonu |
o / O |
Yeni satır alt / üst, Insert |
x |
Karakter sil |
dd / dw / d$ |
Satır / kelime / satır sonu sil |
yy / yw / y$ |
Satır / kelime / satır sonu kopyala |
p / P |
Yapıştır alt / üst |
u / Ctrl+r |
Geri al / ileri al |
. |
Son komutu tekrarla |
r / cw / cc |
Karakter / kelime / satır değiştir |
v / V / Ctrl+v |
Karakter / satır / blok seçimi |
> / < |
Girinti ekle / azalt |
/kelime / ?kelime |
Aşağı / yukarı ara |
n / N |
Sonraki / önceki eşleşme |
* / # |
Kelimeyi aşağı / yukarı ara |
ZZ / ZQ |
Kaydet çık / iptal çık |
Ctrl+o / Ctrl+i |
Atlama geçmişinde geri / ileri |
Çoklu Pencere
:split /etc/nginx/sites-available/default Yatay bölme
:vsplit /etc/nginx/nginx.conf Dikey bölme
Ctrl+w Ctrl+w Bölmeler arası geçiş
:close / :only Bölmeyi kapat / diğerlerini kapat
.vimrc — Başlangıç Ayarları
~/.vimrc dosyası vim'i kişiselleştirir. Her açılışta otomatik yüklenir.
set number " Satır numaraları
set relativenumber " Göreceli satır numaraları
syntax on " Söz dizimi renklendirme
set hlsearch " Arama vurgulama
set incsearch " Anlık arama
set ignorecase " Büyük/küçük duyarsız
set smartcase " Büyük harf varsa duyarlı
set tabstop=4
set shiftwidth=4
set expandtab " Tab -> 4 boşluk
set autoindent
set encoding=utf-8
set fileformat=unix
set backspace=indent,eol,start
set scrolloff=5 " İmleç kenardan 5 satır boşluk
set cursorline " Mevcut satırı vurgula
set wildmenu " Command mod tamamlaması
colorscheme desert
.vimrc dosyasını oluşturmak için: vim ~/.vimrc — Insert moda geçin, yapıştırın, :wq ile kaydedin.
vim vs neovim — Kısa Karşılaştırma
| Özellik | vim 9.x | neovim 0.10+ |
|---|---|---|
| Konfigürasyon dili | VimScript | Lua (veya VimScript) |
| Plugin API | eski | modern, async |
| Her sistemde yüklü | Genellikle evet | Hayır, kurulum gerekir |
| LSP (dil sunucusu) | Plugin gerekir | Yerleşik |
| Performans | İyi | Daha iyi (async) |
| Öğrenme eğrisi | Yüksek | Biraz daha yüksek |
Sysadmin tercih: Sunucu config düzenleme için vim 9.x yeterlidir ve her sistemde hazır gelir. Geliştirme ortamı kurmak istiyorsanız neovim 0.10+ ile LazyVim veya AstroNvim gibi dağıtımlar kutudan çıkar gibi çalışır.
Plugin Manager — Kısa Bilgi
Sunucu config işleri için plugin gerekmez. Düzenli kod yazıyorsanız: vim-plug (en yaygın, tek dosya), Vundle (eski ama çalışır), neovim için lazy.nvim (Lua tabanlı). Her birinin kendi README'si en güncel kaynaktır.
vimtutor — 30 Dakikada Temeli Öğren
vimtutor
vim paketi yüklüyse vimtutor da hazır gelir (AlmaLinux 9, Ubuntu 22.04, Debian 12). Yaklaşık 30 dakika; temel komutları bizzat deneyerek öğretir. Bu rehberi okuduktan hemen sonra çalıştırın — okuduklarınız oturur.
Sıkça Sorulan Sorular
vim'den çıkamıyorum, ne yapayım?
Önce Esc'ye birkaç kez basın (Normal moda döner). Ardından :q! yazıp Enter — değişiklikleri iptal ederek çıkar. Hiçbir şey olmuyorsa Ctrl+C deneyin, sonra :q!. Son çare: terminal penceresini kapatmak (kaydedilmemiş değişiklikler kaybolur).
neovim mu, vim mi kullanmalıyım?
Yalnızca sunucu konfigürasyon dosyalarını düzenleyecekseniz: vim (ya da vi) her sistemde hazır gelir, kurulum gerekmez — vim tercih edin. Yerel makinenizde kod yazma ortamı istiyorsanız neovim 0.10+ daha modern plugin ekosistemi sunar.
.vimrc nereye yazılır?
~/.vimrc — ev dizininizin hemen altına. Tüm kullanıcılar için geçerli sistem geneli ayar /etc/vim/vimrc veya /etc/vimrc'dadır; ama bunu değiştirmek yerine kişisel ~/.vimrc kullanın.
vim'de geri almak (undo) ne kadar geriye gider?
Varsayılan 1000 işlem (undolevels=1000). .vimrc'ye set undofile eklerseniz undo geçmişi diske yazılır; dosyayı kapatıp açsanız bile geri alabilirsiniz.
vim'in hangi modunda olduğumu nasıl anlarım?
Normal modda ekranın altında hiçbir şey yazmaz. Insert modda -- INSERT --, Visual modda -- VISUAL --, Command modda : ibaresi görünür. Emin değilseniz Esc'ye basın — her zaman Normal moda döner.
vim ile nano arasında ne tercih etmeliyim?
Nadiren dosya düzenleyecekseniz nano çok daha basit: nano /dosya/yolu, düzenle, Ctrl+O kaydet, Ctrl+X çık. Düzenli sysadmin yapacaksanız, özellikle toplu değiştirme (:%s) veya çoklu pencere ile çalışacaksanız vim'e harcanan öğrenme süresi kısa sürede geri döner.
Buyukweb VDS Perspektifi
Buyukweb VDS paketleri (₺250/ay'dan, AlmaLinux 9 / Ubuntu 22.04 / Debian 12 / RHEL 9) tam SSH root erişimiyle teslim edilir. Sunucu konfigürasyon dosyalarını (sshd_config, nginx.conf, my.cnf, /etc/hosts, PHP-FPM pool konfigürasyonları) doğrudan vim ile düzenleyebilirsiniz. KVM sanallaştırma, günlük Veeam yedekleme, Bursa Pendc Tier 3 veri merkezi. 7/24 Türkçe destek: 0850 302 60 70 ya da iletişim sayfamız.
İlgili Büyükweb Hizmetleri
- VDS Sunucu — Tam SSH root erişimi, vim hazır
- Linux Hosting
- Linux Web Hosting
- cPanel Web Hosting
Linux & Komut Satırı İlgili Hizmetlerimiz
Bu yazıda anlatılan teknik konuyu profesyonel altyapıyla deneyimleyin
Etiketler:

