Vim esprileri yazılım dünyasının ortak dili: sunucuda sıkışıp çıkamayanların ekran görüntüleri, :q! yazmayı bilmeyenlerin çaresizliği. Oysa asıl hikâye, bu editörün kapanmasında değil, insanın bir daha neden başka editöre istek duymadığında. Modal düzenleme, ilk haftası eziyet, sonrası ömür boyu faiz getiren bir yatırımdır. Bu yazı, buhranlı ilk günün ardından neyin değiştiğini ve bu yatırımın neden her geliştirici için değerli olduğunu anlatıyor.
Modal düzenleme bir dildir
Vim'in temel fikri basittir: yazarken ve düzenlerken farklı kiplerde yaşarsınız. INSERT kipinde klavye bir daktilodur; NORMAL kipinde ise her tuş bir komuttur. Komutlar ezberlendikçe küçük bir dile dönüşür: bir fiil (sil, kopyala, değiştir), bir sayı ve bir hareket (kelime, paragraf, tırnak içi) yan yana geldiğinde anlamlı bir cümle kurulur:
# NORMAL kipte yazilanlar bir cumle gibi okunur
di" -> tirnak icindekini sil
ci( -> parantez icini degistir, yazmaya basla
3dd -> uc satir kes
yip -> paragrafi kopyala
Bu dilin gücü çarpımdan gelir: öğrendiğiniz her yeni fiil, mevcut tüm hareketlerle birleşir. Beş fiil ve altı hareketle otuzdan fazla kombinasyon konuşur hâle gelirsiniz. Düzenleme, menülerde gezinmekten metnin dilbilgisini ele almaya evrilir; imleç sizin düşüncenizin uzantısı olur. Kritik fark budur: menüye tıklamak bir eylem, dil konuşmak ise bir düşünce biçimidir. Metni "bu paragraftaki tırnak içindekini değiştir" olarak düşündüğünüz anda, klavyeye aynı cümleyi yazardınız.
Ezber değil, alışkanlık
Öğrenme eğrisinin dik olduğu ilk günlerde kaybolmak normaldir. Bilinen yol şudur: vimtutor ile yarım saat, ardından iki hafta boyunca zorunlu olmadıkça eski editöre dönüş yok. İlk hafta verimlilik düşer; ikinci hafta sonunda Esc tuşuna refleksle basar, üçüncü haftada imleci düşünmeden hareket ettirirsiniz. Bu, zekâ değil, motor öğrenmenin doğasıdır: kısa ve sık tekrar, uzun ve seyrek çalışmadan hep iyidir. Alışkanlığı hızlandırmak için üç pratik önerilir:
# 1. vimtutor ile ilk yarim saat
vimtutor
# 2. Gunun sonunda ogrenilen komutlari yazin
# 3. Sirf vim ile calisin: git commit -a ile mesaj editorunu zorlayin
git config --global core.editor "vim"
Ayarların ve eklentilerin detayına hemen girmeyin; temel hareket dili oturmadan eklenen her eklenti, öğrenmeyi karmaşıklaştırır. İlk hedef boş editörde kendini rahat hissetmek olmalı; özelleştirme sonraki aşamadır. Kaygılanılacak bir şey yoktur: modal düzenleme editörünüzün kilidi değildir; her an başka bir editöre geçebilir, öğrendiğiniz dil orada da konuşulur. Tam tersine, geçiş yaptığınızda bile kas hafızanızın sizinle geldiğini görürsünüz.
Yatırımın faizi her yerde ödenir
Modal düzenlemenin kazancı, Vim'i terk ettiğinizde bile sizinle kalır. VS Code ve JetBrains ailesi olgun Vim eklentileri sunar; tarayıcı tabanlı kod panelleri bile aynı tuşlara saygı duyar hâle geldi. Daha da önemlisi SSH ile bağlandığınız her sunucuda, container içinde, git commit mesajında — yani editörünüzün kurulu olmadığı her yerde — aynı hızda çalışırsınız. Ayarlarınızı dotfiles ile taşıdığınızda bu eşitlik tamamlanır: her makine aynı yerden devam eder. Editör değişikliği de riskini yitirir; çünkü asıl yeteneğiniz tek bir araca değil, taşıdığınız bir düşünme biçimine bağlı hâle gelmiştir.
Vim'den çıkmak kolaydır; asıl zor olan, çıktıktan sonra eskisinki rahatlığa geri dönüşmektir. Bir kez modal düşünceye alışan geliştirici için geri dönüş kapısı sessizce kapanır — ve bu bağımlılık değil, kazançtır. Karar aslında editör seçmekten ibaret değildir; metinle kurduğunuz ilişkiyi yeniden tanımlamakla ilgilidir.
Okur Yorumları (0)