SSH ile bir sunucuya bağlandığınızda ortada masaüstü, fare ya da simge yoktur; yalnızca siyah bir terminal ekranı vardır. Böyle bir ortamda bir yapılandırma dosyasını düzenlemeniz gerektiğinde iki isimle karşılaşırsınız: Vim ve Nano. İkisi de terminalde çalışan birer metin editörüdür ama yaklaşımları birbirinden çok farklıdır. Nano açar açmaz kullanılabilir, Vim ise önce öğrenilmesi gereken bir sistemdir; öğrenildiğinde de çok daha hızlı çalışır. Bu rehberde ikisini de pratik örneklerle karşılaştırıyorum.
Nano: Anında Üretken Olmak
Nano, terminale yeni başlayanlar için tasarlanmış bir editördür. Programı açtığınızda ekranın alt satırında en sık kullanılan komutlar zaten listelenir; buradaki ^ işareti Ctrl tuşuna karşılık gelir.
nano dosya.txt
Dosyayı kaydetmek için Ctrl+O, editörden çıkmak için Ctrl+X, metin aramak için Ctrl+W tuş kombinasyonu kullanılır. Bu kısayolları ayrıca ezberlemenize gerek yoktur, çünkü ekranda sürekli görünür durumdadır. Bir sunucudaki yapılandırma dosyasında tek satırlık bir değişiklik yapacaksanız, Nano'yu açıp düzenlemeyi bitirip kapatmak birkaç saniyeden fazla sürmez.
Nano'nun bu basitliği bazen "yetersiz" bir editör izlenimi verir, ama bu değerlendirme gerçeği yansıtmaz. Sözdizimi vurgulama, satır numarası gösterme ve otomatik girinti gibi özellikler, bir yapılandırma dosyasıyla uğraşırken işi ciddi biçimde kolaylaştırır.
# nanorc dosyasında satır numaralarını açmak için
set linenumbers
Bu satırı ~/.nanorc dosyasına eklediğinizde, Nano her açıldığında satır numaralarını gösterir. Küçük bir ayar gibi görünür ama uzun bir config dosyasında istediğiniz satırı bulmayı hızlandırır.
Vim: Mod Tabanlı Güç
Vim'i ilk kez açtığınızda klavyeye bir şeyler yazmaya çalışıp hiçbir sonuç alamazsınız; bu durum çoğu yeni kullanıcıyı şaşırtır. Sebebi Vim'in mod tabanlı çalışmasıdır: Normal modda komut verirsiniz, Insert modunda metin yazarsınız, Visual modda seçim yaparsınız.

vim dosya.txt
Insert moduna geçmek için i tuşuna basarsınız, Normal moda dönmek için Esc tuşunu kullanırsınız. Değişiklikleri kaydedip çıkmak :wq, kaydetmeden çıkmak ise :q! komutuyla yapılır. İlk günlerde bu komutları hatırlamak zorlayıcı olabilir, ama kısa sürede parmaklarınız otomatik hale gelir.
Vim'in asıl gücü, komutların birbiriyle birleşebilmesinden gelir. dw tek bir kelimeyi siler, 3dw üç kelimeyi siler, dd bir satırı siler, 5dd beş satırı siler. Sayı ile komutu birleştiren bu mantık, az sayıda tuşla karmaşık düzenlemeler yapmanıza olanak tanır.
dw -> kelimeyi sil
3dd -> 3 satırı sil
yy -> satırı kopyala
p -> yapıştır
/ara -> metin ara
Vim'i eklentiler ve ~/.vimrc yapılandırma dosyasıyla kendi ihtiyaçlarınıza göre baştan sona şekillendirebilirsiniz. Açık kaynak eklenti ekosistemi çok geniştir; geliştiricilerin paylaştığı hazır ayarlardan faydalanabilirsiniz. Nitekim pek çok geliştirici Vim'i, eklentilerle tam teşekküllü bir kod editörüne dönüştürmüş durumdadır.
Hangi Editörü Seçmeli
Linux'ta yeniyseniz ya da arada bir basit bir düzenleme yapacaksanız, Nano açık ara doğru tercihtir. Öğrenme süreci gerektirmez, dosyayı açar açmaz işinize başlayabilirsiniz ve günlük görevlerin büyük kısmını sorunsuz karşılar.
Terminalde uzun saatler geçiriyor ya da kod yazıyorsanız, Vim öğrenmek zaman ayırmaya değer bir yatırımdır. Öğrenme süreci diktir, ama ustalaştığınızda metni fareye hiç dokunmadan, düşündüğünüz hızda düzenlersiniz.
Aşağıdaki tablo iki editörü kısaca karşılaştırıyor:
| Kriter | Nano | Vim |
|---|---|---|
| Öğrenme eğrisi | Düşük | Yüksek |
| İlk kullanım | Anında | Alıştırma gerekir |
| Hız (ustalaştıktan sonra) | Orta | Çok yüksek |
| Özelleştirme | Sınırlı | Kapsamlı |
| Varsayılı kurulu mu | Çoğu dağıtımda | Çoğu dağıtımda (vi olarak) |
Deneyimli kullanıcıların çoğu aslında ikisini birden kullanır: hızlı bir düzeltme için Nano'yu, kapsamlı bir iş için Vim'i tercih eder. Tek bir editöre bağlı kalmak yerine ihtiyaca göre araç seçmek daha pratiktir.
Kararsız kalırsanız şu soruları kendinize sorabilirsiniz:
- Sunucuda dakikada bir tek satırlık düzenleme mi yapıyorsunuz? Nano bu iş için yeterlidir.
- Günün büyük bölümünü terminalde kod yazarak mı geçiriyorsunuz? O zaman Vim'e zaman ayırmalısınız.
- Yeni bir dağıtımda editör bile kurulu değilse, önce Nano'nun kurulu olup olmadığına bakın; çoğu minimal kurulumda Vim'in temel sürümü (vi) hazır gelir.
Vim'e Nasıl Başlanır
Vim öğrenmenin en pratik yolu, editörün kendi öğreticisini baştan sona çalıştırmaktır. Bunun için terminale şu komutu yazmanız yeterlidir.

vimtutor
Bu interaktif öğretici, temel gezinme ve düzenleme komutlarını yaklaşık 30 dakikalık bir uygulamayla öğretir. Her şeyi tek seferde öğrenmeye çalışmak yerine önce h j k l ile gezinmeyi, i ve Esc ile mod geçişini, :wq ile kaydetmeyi öğrenin; bu birkaç komut günlük işlerin büyük bölümünü karşılar. Vim hakkında daha fazla kaynağa ve indirme bağlantısına Vim'in resmi sitesinden ulaşabilirsiniz.
Vim öğreniminde asıl belirleyici olan düzenli pratiktir. Komutlar ilk günlerde yabancı gelir, ama birkaç günlük kullanımdan sonra kas hafızasına yerleşir. .vimrc dosyasına eklediğiniz küçük ayarlarla deneyimi kendi alışkanlıklarınıza uyarlayabilirsiniz.
" .vimrc örneği
set number
syntax on
set tabstop=4
Bu üç satır sırasıyla satır numaralarını açar, sözdizimi renklendirmeyi etkinleştirir ve tab genişliğini 4 karaktere sabitler. Küçük görünen bu ayarlar, günlük kullanımda gözle görülür bir fark yaratır.
Nano'yu Yapılandırma Dosyalarında Kullanmak
Sistem yönetiminde en sık karşılaşacağınız iş, bir servisin config dosyasını düzenlemektir. Örneğin SSH ayarlarını değiştirmek isterseniz şu komutu çalıştırırsınız:

sudo nano /etc/ssh/sshd_config
Dosya açıldıktan sonra Ctrl+W ile aradığınız satıra doğrudan atlayabilirsiniz. Değişikliği kaydedip çıktıktan sonra servisi yeniden başlatın; ayar ancak bundan sonra etkinleşir.
sudo systemctl restart sshd
Bu iki komut, Nano'nun en yaygın kullanım senaryosunu özetler. Uzun bir öğrenme süreci gerekmeden, birkaç dakika içinde bir sunucu ayarını güvenle değiştirebilirsiniz. Yanlışlıkla bir satırı silerseniz Ctrl+U geri alma komutu devreye girer; bu da Nano'yu yeni başlayanlar için güvenli bir seçenek yapar.
Diğer Seçenekler: Emacs ve Ötesi
Vim ve Nano en çok bilinen terminal editörleri olsa da tek seçenek değildir. Emacs, geniş bir özellik yelpazesine ve kendine sadık bir kullanıcı kitlesine sahip başka bir editördür; kimi kullanıcılar için neredeyse ayrı bir çalışma ortamı gibi işlev görür. Vim ile Emacs arasındaki tercih genelde kişisel alışkanlığa bağlıdır ve bu iki taraf arasındaki rekabet, "editör savaşları" diye anılan esprili bir geleneğe dönüşmüştür.
Grafiksel bir masaüstünde çalışıyorsanız elbette modern kod editörleri de kullanabilirsiniz. Ama terminal tabanlı bir editör bilmek, uzak sunucularda ve minimal kurulumlarda hâlâ vazgeçilmezdir. Bir web sunucusuna SSH ile bağlandığınızda genelde grafiksel bir arayüz bulunmaz; böyle bir anda Vim ya da Nano bilmek işinizi kurtarır.
En sağlıklı yaklaşım, ikisini de en azından temel düzeyde tanımaktır. Nano ile başlayıp zamanla Vim'e geçebilir ya da Nano'nun sunduğu basitlikten tamamen memnun kalabilirsiniz. Her iki tercih de geçerlidir; asıl önemli olan seçtiğiniz editörde rahat çalışabilmenizdir.
Günlük Kullanımda Küçük İpuçları
Nano'da bir metin bloğunu seçmek için Alt+A ile işaretlemeyi başlatıp ok tuşlarıyla seçimi genişletirsiniz; ardından Ctrl+K ile keser, Ctrl+U ile yapıştırırsınız. Bu üç kısayolu bilmek, uzun bir dosyada blok taşıma işlemini belirgin şekilde hızlandırır.
Vim'de arama ve değiştirme işlemi, :%s/eski/yeni/g komutuyla dosyanın tamamında çalışır. Bu tek satırlık komut, yüzlerce satırlık bir yapılandırma dosyasında toplu bir değişikliği saniyeler içinde tamamlar.
:%s/localhost/127.0.0.1/g
Bu komut, dosyada geçen her localhost ifadesini 127.0.0.1 ile değiştirir. Mantığı sed komutuna benzer, ama işlem editörün içinde ve önizleme yapılarak gerçekleşir.
Hangi editörü seçerseniz seçin, birkaç temel komutu iyi bilmek günlük işlerin büyük kısmını hızlandırır. Zamanla hangi görev için hangi editörün daha uygun olduğunu kendi deneyiminizle öğrenirsiniz.
SSH üzerinden bağlandığınız sunucuda ekran genişliği dar kalırsa, Nano'nun alt satırdaki kısayol listesi ekranın büyük kısmını kaplayabilir. Bu durumda nano -x dosya.txt komutuyla yardım satırını gizleyip daha fazla çalışma alanı açabilirsiniz. Vim tarafında :set nowrap komutu uzun satırların otomatik kaymasını durdurur; bu ayar özellikle log dosyalarını incelerken işe yarar.
Son bir öneri: hangi editörde çalışırsanız çalışın, düzenlemeden önce dosyanın bir kopyasını almak iyi bir alışkanlıktır. Kritik bir yapılandırma dosyasını değiştirmeden önce basit bir yedek çıkarmak, bir hata olduğunda geri dönüşü saniyeler içinde mümkün kılar.
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
Bu tek satırlık alışkanlık, hangi editörü kullanırsanız kullanın sizi büyük sorunlardan korur.
Henüz yorum yok.
Sohbete katıl. Yorumlar yayınlanmadan önce moderasyondan geçer.