Buyukweb
Linux vim Metin Editörü: Hızlı Başlangıç Rehberi

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.

Büyükweb Editör EkibiHosting, Sunucu ve Sistem Yönetimi Editörü12 dakika okuma

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 vim ya da en azından vi (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ştirecekseniz nano çok daha basittir — açarsınız, düzenlersiniz, Ctrl+O ile kaydeder, Ctrl+X ile çı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 vim erişimi yoksa nano'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.


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 — sonuna i ekleyin.


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:

  1. İlk satırın başına git
  2. Ctrl+v ile blok seçimi başlat
  3. j ile aşağı inerek tüm satırları seç
  4. I (büyük i) ile Insert moda gir, # yaz
  5. Esc — 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

Linux & Komut Satırı İlgili Hizmetlerimiz

Bu yazıda anlatılan teknik konuyu profesyonel altyapıyla deneyimleyin

Etiketler:

#vim#hız optimizasyonu#linux#komut satırı#terminal#sunucu yönetimi

Bu yazıyı paylaş