Özet
vim [seçenekler] [dosya ..]
vim [seçenekler] -
vim [seçenekler] -t etiket
vim [seçenekler] -q [hata_dosyası]
ex
view
gvim gview evim eview
rvim rview rgvim rgview
Açıklama
Vim, Vi ile geriye dönük uyumlu (yukarı doğru uyumlu) bir metin editörüdür. Her türlü düz metni düzenlemek için kullanılabilir. Özellikle programları düzenlemek için kullanışlıdır.
Vi'ye kıyasla birçok geliştirme mevcuttur: çok seviyeli geri alma, çoklu pencereler ve tampon bellekler (buffer'lar), sözdizimi vurgulama, komut satırı düzenleme, dosya adı tamamlama, çevrimiçi yardım, görsel seçim vb. Vim ve Vi arasındaki farkların bir özeti için ":help vi_diff.txt" komutuna bakın.
Vim çalışırken, ":help" komutu kullanılarak çevrimiçi yardım sisteminden pek çok yardım alınabilir. Aşağıdaki ÇEVRİMİÇİ YARDIM bölümüne bakın.
Vim çoğunlukla tek bir dosyayı düzenlemek için şu komutla başlatılır:
vim dosya
Daha genel olarak Vim şu şekilde başlatılır:
vim [seçenekler] [dosya_listesi]
Eğer dosya listesi eksikse, editör boş bir tampon bellek ile başlayacaktır. Aksi takdirde, düzenlenecek bir veya daha fazla dosyayı seçmek için aşağıdaki dört yöntemden tam olarak biri kullanılabilir.
dosya .. Bir dosya adları listesi. İlk dosya geçerli dosya olacak ve tampon belleğe okunacaktır. İmleç tampon belleğin ilk satırında konumlandırılacaktır. ":next" komutu ile diğer dosyalara geçiş yapabilirsiniz. Eksi işareti (-) ile başlayan bir dosyayı düzenlemek için dosya listesinin önüne "--" ekleyin.
Düzenlenecek dosya standart girdiden (stdin) okunur. Komutlar, bir tty olması gereken standart hatadan (stderr) okunur.-t {tag}: Düzenlenecek dosya ve başlangıç imleç konumu bir "etikete" (tag), bir nevi git (goto) etiketine bağlıdır. {tag} etiket dosyasında aranır, ilgili dosya geçerli dosya haline gelir ve ilgili komut yürütülür. Bu çoğunlukla C programları için kullanılır, bu durumda {tag} bir fonksiyon adı olabilir. Bunun etkisi, bu fonksiyonu içeren dosyanın geçerli dosya haline gelmesi ve imlecin fonksiyonun başlangıcına konumlandırılmasıdır. ":help tag-commands" komutuna bakın.
-q [hata_dosyası] Start in quickFix mode. [hata_dosyası] dosyası okunur ve ilk hata görüntülenir. Eğer [hata_dosyası] belirtilmemişse, dosya adı 'errorfile' seçeneğinden alınır (Amiga için varsayılan "AztecC.Err", diğer sistemlerde "errors.err"). Diğer hatalara ":cn" komutu ile atlanabilir. ":help quickfix" komutuna bakın.
Vim, komutun adına bağlı olarak farklı davranır (yürütülebilir dosya yine de aynı dosya olabilir).
vim "Normal" yöntem, her şey varsayılandır.
ex Ex modunda başlatır. ":vi" komutu ile Normal moda geçilir. Bu işlem "-e" argümanı ile de yapılabilir.
view Salt okunur modda başlatır. Dosyaları üzerine yazmaktan korunursunuz. Bu işlem "-R" argümanı ile de yapılabilir.
gvim gview Grafiksel kullanıcı arayüzü (GUI) sürümü. Yeni bir pencere açar. Bu işlem "-g" argümanı ile de yapılabilir.
evim eview Kolay moddaki GUI sürümü. Yeni bir pencere açar. Bu işlem "-y" argümanı ile de yapılabilir.
rvim rview rgvim rgview Yukarıdakiler gibidir ancak kısıtlamalar içerir. Kabuk komutlarını başlatmak veya Vim'i askıya almak mümkün olmayacaktır. Bu işlem "-Z" argümanı ile de yapılabilir.
Seçenekler
Seçenekler, dosya adlarından önce veya sonra herhangi bir sırayla verilebilir. Argümansız seçenekler tek bir eksi işaretinden sonra birleştirilebilir.
+[num] İlk dosya için imleç "num" satırında konumlandırılacaktır. Eğer "num" eksikse imleç son satırda konumlandırılacaktır.
+/{pat} İlk dosya için imleç, {pat} ifadesinin ilk geçtiği satırda konumlandırılacaktır. Kullanılabilir arama kalıpları için ":help search-pattern" komutuna bakın.
+{komut}
-c {komut} {komut} ilk dosya okunduktan sonra yürütülecektir. {komut} bir Ex komutu olarak yorumlanır. Eğer {komut} boşluklar içeriyorsa çift tırnak içine alınmalıdır (bu, kullanılan kabuğa bağlıdir). Örnek: vim "+set si" main.c Not: En fazla 10 adet "+" veya "-c" komutu kullanabilirsiniz.
-A: Eğer Vim, sağdan sola yazılan dosyaları düzenlemek için ARABIC desteği ve Arapça klavye haritalaması ile derlenmişse, bu seçenek Vim'i Arapça modunda başlatır, yani 'arabic' seçeneği ayarlanır. Aksi takdirde bir hata mesajı verilir ve Vim sonlandırılır.-b: İkili (Binary) mod. İkili veya yürütülebilir bir dosyayı düzenlemeyi mümkün kılan birkaç seçenek ayarlanacaktır.-C: Uyumlu (Compatible). 'compatible' seçeneğini ayarlar. Bu, bir .vimrc dosyası olsa bile Vim'in çoğunlukla Vi gibi davranmasını sağlayacaktır.-d: Fark (diff) modunda başlatır. İki ila sekiz arasında dosya adı argümanı olmalıdır. Vim tüm dosyaları açacak ve aralarındaki farkları gösterecektir. vimdiff(1) gibi çalışır.
-d {device}, -dev {device} {device} aygıtını terminal olarak kullanmak üzere açar. Yalnızca Amiga'da geçerlidir. Örnek: "-d con:20/30/600/150".
-D: Hata ayıklama (Debugging). Bir betikten ilk komutu yürütürken hata ayıklama moduna geçer.-e: Vim'i, sanki yürütülebilir dosya adı "ex" gibi Ex modunda başlatır.-E: Vim'i, sanki yürütülebilir dosya adı "exim" gibi geliştirilmiş Ex modunda başlatır.-f: Ön plan (Foreground). GUI sürümü için, Vim çatallanmayacak (fork) ve başlatıldığı kabuktan ayrılmayacaktır. Amiga'da Vim, yeni bir pencere açmak için yeniden başlatılmaz. Bu seçenek, Vim'in düzenleme oturumunun bitmesini bekleyecek bir program (örneğin mail) tarafından yürütüldüğü durumlarda kullanılmalıdır. Amiga'da ":sh" ve ":!" komutları çalışmayacaktır.-F: Eğer Vim, sağdan sola yazılan dosyaları düzenlemek için FKMAP desteği ve Farsça klavye haritalaması ile derlenmişse, bu seçenek Vim'i Farsça modunda başlatır, yani 'fkmap' ve 'rightleft' seçenekleri ayarlanır. Aksi takdirde bir hata mesajı verilir ve Vim sonlandırılır. Not: Farsça desteği 8.1.0932 yaması ile kaldırılmıştır.-g: Eğer Vim, GUI desteği ile derlenmişse, bu seçenek GUI'yi etkinleştirir. GUI desteği derlenmemişse bir hata mesajı verilir ve Vim sonlandırılır.-H: Eğer Vim, sağdan sola yazılan dosyaları düzenlemek için RIGHTLEFT desteği ve İbranice klavye haritalaması ile derlenmişse, bu seçenek Vim'i İbranice modunda başlatır, yani 'hkmap' ve 'rightleft' seçenekleri ayarlanır. Aksi takdirde bir hata mesajı verilir ve Vim sonlandırılır.
-i {viminfo} Varsayılan "~/.viminfo" yerine, viminfo dosyasını okurken veya yazarken kullanılacak dosya adını belirtir. Bu, "NONE" adı verilerek .viminfo dosyasının kullanımını atlamak için de kullanılabilir.
-l: Lisp modu. 'lisp' ve 'showmatch' seçeneklerini etkinleştirir.-L: -r ile aynıdır.-m: Dosyaları değiştirmek devre dışı bırakılır. 'write' seçeneğini sıfırlar. Tampon belleği düzenlemeye devam edebilirsiniz ancak bir dosyaya yazmak mümkün değildir.-M: Değişiklik yapılmasına izin verilmez. 'modifiable' ve 'write' seçeneklerinin ayarı kaldırılır, böylece değişikliklere izin verilmez ve dosyalara yazılamaz. Bu seçeneklerin değişiklik yapmayı etkinleştirmek üzere sonradan ayarlanabileceğini unutmayın.-n: Takas (swap) dosyası kullanılmayacaktır. Çökme sonrası kurtarma imkansız olacaktır. Çok yavaş bir ortamdaki (örneğin disket) bir dosyayı düzenlemek istiyorsanız kullanışlıdır. ":set uc=0" ile de yapılabilir. ":set uc=200" ile geri alınabilir.-N: Uyumlu olmayan (No-compatible) mod. 'compatible' seçeneğini sıfırlar. Bu, bir .vimrc dosyası olmasa bile Vim'in biraz daha iyi davranmasını ancak Vi ile daha az uyumlu olmasını sağlayacaktır.-nb: NetBeans için bir editör sunucusu olur. Ayrıntılar için belgelere bakın.-o[N]: N adet pencereyi üst üste dikey olarak istiflenmiş şekilde açar. N belirtilmediğinde her dosya için bir pencere açar.-O[N]: N adet pencereyi yan yana açar. N belirtilmediğinde her dosya için bir pencere açar.-p[N]: N adet sekme sayfası açar. N belirtilmediğinde her dosya için bir sekme sayfası açar.
-P {parent-title} Yalnızca Win32 GUI: Üst uygulamanın başlığını belirtir. Mümkün olduğunda, Vim uygulama içindeki bir MDI penceresinde çalışacaktır. {parent-title}, üst uygulamanın pencere başlığında görünmelidir. Bunun yeterince belirgin olduğundan emin olun. Bu uygulamanın henüz ilkel olduğunu unutmayın. Tüm uygulamalarla çalışmaz ve menü çalışmaz.
-r: Takas (swap) dosyalarını, kurtarma için kullanımları hakkında bilgilerle birlikte listeler.-r {file}: Kurtarma (Recovery) modu. Takas dosyası, çöken bir düzenleme oturumunu kurtarmak için kullanılır. Takas dosyası, metin dosyasıyla aynı ada sahip ve sonuna ".swp" eklenmiş bir dosyadır. ":help recovery" komutuna bakın.-R: Salt okunur (Read-only) mod. 'readonly' seçeneği ayarlanacaktır. Tampon belleği düzenleyebilirsiniz ancak kazara bir dosyanın üzerine yazmanız engellenecektir. Eğer bir dosyanın üzerine yazmak istiyorsanız, Ex komutuna ":w!" örneğinde olduğu gibi bir ünlem işareti ekleyin. -R seçeneği aynı zamanda -n seçeneğini de ifade eder (yukarıya bakın). 'readonly' seçeneği ":set noro" ile sıfırlanabilir. ":help 'readonly'" komutuna bakın.-s: Sessiz (Silent) mod. Yalnızca "Ex" olarak başlatıldığında veya "-s" seçeneğinden önce "-e" seçeneği verildiğinde geçerlidir.
-s {scriptin} {scriptin} betik dosyası okunur. Dosyadaki karakterler, siz onları klavyeden yazmışsınız gibi yorumlanır. Aynı işlem ":source! {scriptin}" komutuyla da yapılabilir. Editörden çıkılmadan önce dosyanın sonuna ulaşılırsa, sonraki karakterler klavyeden okunur.
-S {file}: İlk dosya okunduktan sonra {file} kaynak olarak alınacaktır (sourced). Bu işlem şuna eşdeğerdir:-c "source {file}".: {file} '-' ile başlayamaz. Eğer {file} belirtilmemişse "Session.vim" kullanılır (yalnızca -S son argüman olduğunda çalışır).
-T {terminal} Vim'e kullandığınız terminalin adını bildirir. Yalnızca otomatik yöntemin çalışmadığı durumlarda gereklidir. Vim tarafından bilinen (yerleşik/builtin) veya termcap ya da terminfo dosyasında tanımlanmış bir terminal olmalıdır.
-u {vimrc}: Başlatma işlemleri için {vimrc} dosyasındaki komutları kullanır. Diğer tüm başlatma işlemleri atlanır. Bunu özel türdeki dosyaları düzenlemek için kullanın. Ayrıca "NONE" adı verilerek tüm başlatma işlemlerini atlamak için de kullanılabilir. Daha fazla ayrıntı için Vim içindeki ":help initialization" komutuna bakın.-U {gvimrc} Use the commands in the file {gvimrc} for GUI initializations.: Diğer tüm GUI başlatma işlemleri atlanır. Ayrıca "NONE" adı verilerek tüm GUI başlatma işlemlerini atlamak için de kullanılabilir. Daha fazla ayrıntı için Vim içindeki ":help gui-init" komutuna bakın.-v: Vim'i, tıpkı yürütülebilir dosya adı "vi" gibi Vi modunda başlatır. Bu seçenek yalnızca yürütülebilir dosya adı "ex" olduğunda etkilidir.-V[N]: Ayrıntılı (Verbose). Hangi dosyaların kaynak olarak alındığı ve bir viminfo dosyasının okunup yazıldığı hakkında mesajlar verir. İsteğe bağlı N sayısı 'verbose' seçeneğinin değeridir. Varsayılan değer 10'dur.
-V[N]{filename} -V gibidir ve 'verbosefile' seçeneğini {filename} olarak ayarlar. Sonuç olarak mesajlar görüntülenmez, {filename} dosyasına yazılır. {filename} bir rakamla başlamamalıdır.
-w{number}: 'window' seçeneğini {number} olarak ayarlar.
-w {scriptout} Yazdığınız tüm karakterler, Vim'den çıkana kadar {scriptout} dosyasına kaydedilir. Bu, "vim -s" veya ":source!" ile kullanılacak bir betik dosyası oluşturmak istiyorsanız kullanışlıdır. Eğer {scriptout} dosyası zaten mevcutsa, karakterler sonuna eklenir.
-W {scriptout} -w gibidir ancak mevcut bir dosyanın üzerine yazılır.
-x: Eğer Vim şifreleme desteği ile derlenmişse, dosyaları yazarken şifreleme kullanır. Bir şifreleme anahtarı isteyecektir.-X: X sunucusuna bağlanmaz. Terminalde başlatma süresini kısaltır ancak pencere başlığı ve pano (clipboard) kullanılmayacaktır.-Y: Wayland birleştiricisine (wayland compositor) bağlanmaz-y: Vim'i, tıpkı yürütülebilir dosya adı "evim" veya "eview" gibi kolay modda başlatır. Vim'in tıkla-ve-yaz türü bir editör gibi davranmasını sağlar.-Z: Kısıtlı (Restricted) mod. Yürütülebilir dosya adının "r" ile başlaması gibi çalışır.--: Seçeneklerin sonunu belirtir. Bundan sonraki argümanlar dosya adı olarak ele alınacaktır. Bu, '-' ile başlayan bir dosya adını düzenlemek için kullanılabilir.--clean: Herhangi bir kişisel yapılandırma (vimrc, eklentiler vb.) kullanmaz. Bir sorunun temiz bir Vim kurulumuyla tekrarlanıp tekrarlanmadığını görmek için kullanışlıdır.
--cmd {command} "-c" kullanmak gibidir ancak komut herhangi bir vimrc dosyası işlenmeden hemen önce yürütülür. "-c" komutlarından bağımsız olarak bu komutlardan en fazla 10 adet kullanabilirsiniz.
--echo-wid: Yalnızca GTK GUI: Standart çıktıya (stdout) Pencere Kimliğini (Window ID) yansıtır.
--gui-dialog-file {name} GUI kullanırken, bir iletişim kutusu göstermek yerine iletişim kutusunun başlığını ve mesajını {name} dosyasına yazar. Dosya oluşturulur veya sonuna eklenir. Yalnızca görünmeyen bir iletişim kutusunda testin takılıp kalmasını önlemek amacıyla test için kullanışlıdır. GUI olmadan bu argüman yoksayılır.
--help, -h, -? Komut satırı argümanları ve seçenekleri hakkında kısa bir yardım sunar. Ardından Vim sonlandırılır.
--literal: Dosya adı argümanlarını kelimesi kelimesine (harfi harfine) alır, joker karakterleri (wildcards) genişletmez. Kabuğun joker karakterleri genişlettiği Unix üzerinde bunun hiçbir etkisi yoktur.
--log {filename} Eğer Vim, değerlendirme (eval) ve kanal (channel) özelliğiyle derlenmişse günlük kaydını (logging) başlatır ve girdileri {filename} dosyasına yazar. Bu, başlatma sırasında çok erken bir aşamada ch_logfile({filename}, 'ao') çağırmak gibi çalışır.
--nofork: Ön plan (Foreground). GUI sürümü için, Vim çatallanmayacak ve başlatıldığı kabuktan ayrılmayacaktır.--noplugin: Eklentilerin yüklenmesini atlar. -u NONE tarafından dolaylı olarak etkinleştirilir.
--not-a-term Vim'e, kullanıcının girdinin ve/veya çıktının bir terminale bağlı olmadığını bildiğini iletir. Bu, oluşabilecek uyarıyı ve iki saniyelik gecikmeyi önler.
--remote: Bir Vim sunucusuna bağlanır ve geri kalan argümanlarda verilen dosyaları düzenlemesini sağlar. Sunucu bulunamazsa bir uyarı verilir ve dosyalar geçerli Vim'de düzenlenir.
--remote-expr {expr} Bir Vim sunucusuna bağlanır, içinde {expr} ifadesini değerlendirir ve sonucu standart çıktıya (stdout) yazdırır.
--remote-send {keys} Bir Vim sunucusuna bağlanır ve ona {tuşlar} gönderir.
--remote-silent --remote gibidir, ancak sunucu bulunamadığında uyarı vermez.
--remote-wait --remote gibidir, ancak dosyalar düzenlenene kadar Vim çıkış yapmaz.
--remote-wait-silent --remote-wait gibidir, ancak sunucu bulunamadığında uyarı vermez.
--serverlist Bulunabilen tüm Vim sunucularının adlarını listeler.
--servername {name}
Sunucu adı olarak {name} kullanır. Bir --remote argümanıyla birlikte kullanılmadığı sürece geçerli Vim için kullanılır, aksi takdirde bağlanılacak sunucunun adıdır. Eğer socketserver arka ucu kullanılıyorsa, isim "/" veya "./" ya da "../" ile başlıyorsa, sokete giden mutlak, göreceli veya göreceli bir yol olarak kabul edilir.
--clientserver {backend} İstemci-sunucu (clientserver) işlevselliği için sırasıyla "socket" veya "x11" olmak üzere {backend} kullanır. Yalnızca hem socketserver hem de X11 özellikleri mevcut olacak şekilde derlendiğinde kullanılabilir
--socketid {id} Yalnızca GTK GUI: gVim'i başka bir pencerede çalıştırmak için GtkPlug mekanizmasını kullanır.
--startuptime {file} Başlatma sırasında zamanlama mesajlarını {file} dosyasına yazar.
--ttyfail: Standart girdi veya standart çıktı bir terminal (tty) olmadığında hemen çıkış yapar.--version: Sürüm bilgisini yazdırır ve çıkar.
--windowid {id} Yalnızca Win32 GUI: gVim'in {id} penceresini üst pencere olarak kullanmaya çalışmasını sağlar, böylece o pencerenin içinde çalışır.
Çevrimiçi Yardım
Başlamak için Vim içinde ":help" yazın. Belirli bir konuda yardım almak için ":help konu" yazın. Örneğin: "ZZ" komutu hakkında yardım almak için ":help ZZ" yazın. Konuları tamamlamak için
Dosyalar
/usr/local/share/vim/vim??/doc/*.txt Vim belgelendirme dosyaları. Tam listeyi almak için ":help doc-file-list" komutunu kullanın. vim??, Vim 9.1 için vim91 gibi kısa sürüm numarasıdır.
/usr/local/share/vim/vim??/doc/tags Belgelendirme dosyalarında bilgi bulmak için kullanılan etiketler (tags) dosyası.
/usr/local/share/vim/vim??/syntax/syntax.vim Sistem genelinde sözdizimi başlatmaları.
/usr/local/share/vim/vim??/syntax/*.vim Çeşitli diller için sözdizimi dosyaları.
/usr/local/share/vim/vimrc Sistem genelinde Vim başlatmaları.
~/.vimrc, ~/.vim/vimrc, $XDG_CONFIG_HOME/vim/vimrc Kişisel Vim başlatmalarınız (bulunan ilk dosya kullanılır).
/usr/local/share/vim/gvimrc Sistem genelinde gvim başlatmaları.
~/.gvimrc, ~/.vim/gvimrc, $XDG_CONFIG_HOME/vim/gvimrc Kişisel gVim başlatmalarınız (bulunan ilk dosya kullanılır).
/usr/local/share/vim/vim??/optwin.vim ":options" komutu için kullanılan, seçenekleri görüntülemenin ve ayarlamanın pratik bir yolu olan betik.
/usr/local/share/vim/vim??/menu.vim gVim için sistem genelinde menü başlatmaları.
/usr/local/share/vim/vim??/bugreport.vim Bir hata raporu oluşturmak için kullanılan betik. ":help bugs" komutuna bakın.
/usr/local/share/vim/vim??/filetype.vim Bir dosyanın türünü adına göre tespit etmek için kullanılan betik. ":help 'filetype'" komutuna bakın.
/usr/local/share/vim/vim??/scripts.vim Bir dosyanın türünü içeriğine göre tespit etmek için kullanılan betik. ":help 'filetype'" komutuna bakın.
/usr/local/share/vim/vim??/print/*.ps PostScript yazdırma için kullanılan dosyalar.
En güncel bilgiler için VIM ana sayfasını okuyun: URL:http://www.vim.org/
Ayrıca Bakınız
vimtutor(1)
Geliştirici
Vim'in büyük bir kısmı, diğer kullanıcılardan gelen yoğun yardımlarla Bram Moolenaar tarafından geliştirilmiştir. Vim içinde ":help credits" komutuna bakın. Vim, Tim Thompson, Tony Andrews ve G.R. (Fred) Walter tarafından üzerinde çalışılmış olan Stevie tabanlıdır. Her ne kadar orijinal koddan neredeyse hiçbir şey kalmamış olsa da.
Hatalar
Muhtemelen vardır. Bilinen sorunların bir listesi için ":help todo" komutuna bakın.
Bazıları tarafından hata olarak kabul edilebilecek birtakım durumların, aslında Vi'nin davranışının aşırı sadık bir şekilde yeniden üretilmesinden kaynaklandığını unutmayın. Ve eğer diğer şeylerin "Vi bunu farklı yaptığı için" hata olduğunu düşünüyorsanız, vi_diff.txt dosyasına daha yakından bakmalısınız (veya Vim içindeyken :help vi_diff.txt yazın). Ayrıca 'compatible' ve 'cpoptions' seçeneklerine de göz atın.
2025 Haz 27 VIM(1)