man/text
man · Metin İşleme

$ rvim

Bölüm 1 · Metin İşleme

Vi IMproved, programcı metin düzenleyicisi

Ö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 yukarıya doğru uyumlu bir metin düzenleyicisidir. Her türlü düz metni düzenlemek için kullanılabilir ve özellikle programları düzenlemek için yararlıdır.

Vi'a kıyasla çok seviyeli geri alma, çoklu pencere ve arabellek, sözdizimi vurgulama, komut satırı düzenleme, dosya adı tamamlama, çevrim içi yardım ve görsel seçim gibi birçok geliştirme sunar.

Vim ile Vi arasındaki farkların özeti için Vim içinde :help vi_diff.txt komutunu kullanın.

Vim çalışırken :help komutu aracılığıyla çevrim içi yardım sisteminden kapsamlı yardım alınabilir.

Vim çoğunlukla tek bir dosyayı düzenlemek için şu şekilde başlatılır:

vim dosya

Daha genel kullanım:

vim [seçenekler] [dosya_listesi]

Dosya listesi belirtilmezse düzenleyici boş bir arabellekle başlar.

Başlatma Biçimleri

  • dosya ...: Dosya adları listesi. İlk dosya geçerli dosya olur ve arabelleğe okunur. İmleç arabelleğin ilk satırına konumlandırılır. Diğer dosyalara :next komutuyla geçilebilir. Tire (-) ile başlayan bir dosyayı düzenlemek için dosya listesinin önüne -- getirin.
  • -: Düzenlenecek dosya standart girdiden okunur. Komutlar, bir tty olması gereken standart hatadan okunur.
  • -t {etiket}: Düzenlenecek dosya ve ilk imleç konumu bir etikete bağlıdır. {etiket}, tags dosyasında aranır; ilişkili dosya geçerli dosya haline gelir ve ilişkili komut yürütülür. Bu genellikle C programlarında fonksiyon adına atlamak için kullanılır. Ayrıntılar için :help tag-commands komutuna bakın.
  • -q [hata_dosyası]: Quickfix modunda başlatır. [hata_dosyası] okunur ve ilk hata görüntülenir. Belirtilmezse dosya adı errorfile seçeneğinden alınır. Sonraki hatalara :cn komutuyla geçilebilir. Ayrıntılar için :help quickfix komutuna bakın.

Çağrı Adına Göre Davranış

Vim, çağrıldığı komutun adına bağlı olarak farklı davranır; yürütülebilir dosya aynı olabilir.

  • vim: Normal başlatma yoludur; her şey varsayılandır.
  • ex: Ex modunda başlar. :vi komutuyla Normal moda geçilebilir. Aynı işlem -e bağımsız değişkeniyle de yapılabilir.
  • view: Salt okunur modda başlar. Dosyaları yazmaya karşı korunursunuz. Aynı işlem -R bağımsız değişkeniyle de yapılabilir.
  • gvim, gview: GUI sürümü olarak yeni pencere açar. Aynı işlem -g bağımsız değişkeniyle de yapılabilir.
  • evim, eview: Kolay modda GUI sürümü olarak yeni pencere açar. Aynı işlem -y bağımsız değişkeniyle de yapılabilir.
  • rvim, rview, rgvim, rgview: Yukarıdakiler gibidir, ancak kısıtlamalar içerir. Kabuk komutlarını çalıştırmak veya Vim'i askıya almak mümkün değildir. Aynı işlem -Z bağımsız değişkeniyle de yapılabilir.

Seçenekler

Seçenekler dosya adlarından önce veya sonra herhangi bir sırayla verilebilir. Parametresi olmayan seçenekler tek tire (-) işaretinden sonra birleştirilebilir.

  • +[sayı]: İlk dosya için imleci sayı satırına konumlandırır. sayı belirtilmezse imleç son satıra konumlandırılır.
  • +/{şablon}: İlk dosya için imleci {şablon} arama şablonunun ilk eşleştiği satıra konumlandırır. Kullanılabilir arama şablonları için :help search-pattern komutuna bakın.
  • +{komut}, -c {komut}: {komut}, ilk dosya okunduktan sonra yürütülür ve Ex komutu olarak yorumlanır. Komut boşluk içeriyorsa çift tırnak içine alınmalıdır. Örnek: vim "+set si" main.c. En fazla 10 adet + veya -c komutu kullanılabilir.
  • -A: Vim ARABIC desteği ve Arapça klavye eşlemesiyle derlenmişse Vim'i Arapça modunda başlatır ve arabic seçeneğini ayarlar. Aksi halde hata verir ve Vim sonlanır.
  • -b: İkili moddur. İkili veya yürütülebilir dosya düzenlemeyi mümkün kılan birkaç seçenek ayarlanır.
  • -C: Uyumlu moddur. compatible seçeneğini ayarlar ve .vimrc dosyası bulunsa bile Vim'in çoğunlukla Vi gibi davranmasını sağlar.
  • -d: Fark modunda başlatır. İki ila sekiz dosya adı verilmelidir. Vim tüm dosyaları açar ve aralarındaki farkları gösterir; vimdiff(1) gibi çalışır.
  • -d {aygıt}, -dev {aygıt}: {aygıt} değerini terminal olarak kullanmak üzere açar. Yalnızca Amiga'da geçerlidir.
  • -D: Hata ayıklama modudur. Bir betikten ilk komutu yürütürken hata ayıklama moduna geçer.
  • -e: Vim'i Ex modunda başlatır; yürütülebilir dosyanın adı ex olarak çağrılmış gibi davranır.
  • -E: Vim'i geliştirilmiş Ex modunda başlatır; yürütülebilir dosyanın adı exim olarak çağrılmış gibi davranır.
  • -f: Ön plan modudur. GUI sürümü için Vim alt süreç oluşturup başlatıldığı kabuktan ayrılmaz. Düzenleme oturumunun bitmesini bekleyen programlar tarafından çağrıldığında kullanışlıdır.
  • -F: Vim FKMAP desteği ve Farsça klavye eşlemesiyle derlenmişse Farsça modda başlatır ve fkmap ile rightleft seçeneklerini ayarlar. Farsça desteği 8.1.0932 yamasıyla kaldırılmıştır.
  • -g: Vim GUI desteğiyle derlenmişse GUI'yi etkinleştirir. GUI desteği yoksa hata verir ve Vim sonlanır.
  • -H: Vim RIGHTLEFT desteği ve İbranice klavye eşlemesiyle derlenmişse İbranice modda başlatır ve hkmap ile rightleft seçeneklerini ayarlar.
  • -i {viminfo}: Varsayılan ~/.viminfo yerine okunacak veya yazılacak viminfo dosyasını belirtir. NONE verilirse .viminfo kullanımı atlanır.
  • -l: Lisp modudur. lisp ve showmatch seçeneklerini açar.
  • -L: -r ile aynıdır.
  • -m: Dosyaları değiştirmeyi devre dışı bırakır. write seçeneğini sıfırlar. Arabellek değiştirilebilir, ancak dosya yazılamaz.
  • -M: Değişikliklere izin vermez. modifiable ve write seçenekleri sıfırlanır; böylece değişiklik yapılamaz ve dosyalar yazılamaz.
  • -n: Takas dosyası kullanılmaz. Çökme sonrasında kurtarma mümkün olmaz. Çok yavaş ortamlarda dosya düzenlerken kullanışlı olabilir. :set uc=0 ile de yapılabilir, :set uc=200 ile geri alınabilir.
  • -N: Uyumsuz moddur. compatible seçeneğini sıfırlar. .vimrc dosyası olmasa bile Vim'in biraz daha iyi davranmasını, ancak Vi ile daha az uyumlu olmasını sağlar.
  • -nb: NetBeans için düzenleyici sunucusu olur. Ayrıntılar için belgelere bakın.
  • -o[N]: Üst üste yığılmış N pencere açar. N belirtilmezse her dosya için bir pencere açar.
  • -O[N]: Yan yana N pencere açar. N belirtilmezse her dosya için bir pencere açar.
  • -p[N]: N sekme sayfası açar. N belirtilmezse her dosya için bir sekme sayfası açar.
  • -P {üst-başlık}: Yalnızca Win32 GUI için üst uygulamanın başlığını belirtir. Mümkün olduğunda Vim uygulama içinde bir MDI penceresinde çalışır.
  • -r: Takas dosyalarını, kurtarma amacıyla kullanma bilgileriyle birlikte listeler.
  • -r {dosya}: Kurtarma modudur. Takas dosyası, çöken bir düzenleme oturumunu kurtarmak için kullanılır. Ayrıntılar için :help recovery komutuna bakın.
  • -R: Salt okunur moddur. readonly seçeneği ayarlanır. Arabellek düzenlenebilir, ancak kazara dosyanın üzerine yazılması engellenir. Üzerine yazmak için :w! gibi ünlemli Ex komutu kullanılabilir. -R, -n seçeneğini de içerir.
  • -s: Sessiz moddur. Yalnızca ex olarak başlatıldığında veya -s seçeneğinden önce -e verildiğinde geçerlidir.
  • -s {girdi_betiği}: {girdi_betiği} dosyasını okur. Dosyadaki karakterler klavyeden yazılmış gibi yorumlanır. Aynı işlem :source! {girdi_betiği} komutuyla da yapılabilir.
  • -S {dosya}: {dosya}, ilk dosya okunduktan sonra kaynak olarak alınır. -c "source {dosya}" ile eşdeğerdir. {dosya} - ile başlayamaz. Belirtilmezse Session.vim kullanılır; bu yalnızca -S son bağımsız değişken olduğunda çalışır.
  • -T {terminal}: Kullanılan terminalin adını Vim'e bildirir. Yalnızca otomatik algılama çalışmadığında gerekir.
  • -u {vimrc}: Başlatma işlemleri için {vimrc} dosyasındaki komutları kullanır. Diğer başlatma işlemleri atlanır. NONE verilirse tüm başlatma işlemleri atlanır. Ayrıntılar için :help initialization komutuna bakın.
  • -U {gvimrc}: GUI başlatma işlemleri için {gvimrc} dosyasındaki komutları kullanır. Diğer GUI başlatma işlemleri atlanır. NONE verilirse tüm GUI başlatma işlemleri atlanır.
  • -v: Vim'i Vi modunda başlatır; yürütülebilir dosyanın adı vi olarak çağrılmış gibi davranır. Yalnızca yürütülebilir dosya ex olarak çağrıldığında etkilidir.
  • -V[N]: Ayrıntılı moddur. Hangi dosyaların kaynak olarak alındığı ve viminfo dosyasının okunup yazılması hakkında mesajlar verir. İsteğe bağlı N, verbose seçeneğinin değeridir. Varsayılan değer 10 şeklindedir.
  • -V[N]{dosya_adı}: -V gibidir ve verbosefile seçeneğini {dosya_adı} olarak ayarlar. Mesajlar görüntülenmez, bu dosyaya yazılır. {dosya_adı} rakamla başlamamalıdır.
  • -w{sayı}: window seçeneğini {sayı} değerine ayarlar.
  • -w {çıktı_betiği}: Yazılan tüm karakterleri Vim'den çıkana kadar {çıktı_betiği} dosyasına kaydeder. vim -s veya :source! ile kullanılacak betik dosyası oluşturmak için kullanışlıdır. Dosya varsa karakterler sonuna eklenir.
  • -W {çıktı_betiği}: -w seçeneği gibidir, ancak mevcut dosyanın üzerine yazar.
  • -x: Vim şifreleme desteğiyle derlenmişse dosyaları yazarken şifreleme kullanır ve şifreleme anahtarı ister.
  • -X: X sunucusuna bağlanmaz. Terminalde başlatma süresini kısaltır, ancak pencere başlığı ve pano kullanılamaz.
  • -Y: Wayland birleştiricisine bağlanmaz.
  • -y: Vim'i kolay modda başlatır; yürütülebilir dosya evim veya eview olarak çağrılmış gibi davranır. Vim'in tıkla-ve-yaz tarzı bir düzenleyici gibi davranmasını sağlar.
  • -Z: Kısıtlı moddur. Yürütülebilir dosyanın r ile başlaması gibi çalışır.
  • --: Seçeneklerin sonunu belirtir. Bundan sonraki bağımsız değişkenler dosya adı olarak ele alınır. - ile başlayan dosya adını düzenlemek için kullanılabilir.
  • --clean: Kişisel yapılandırma, vimrc, eklenti vb. kullanmaz. Bir sorunun temiz Vim kurulumuyla tekrarlanıp tekrarlanmadığını görmek için kullanışlıdır.
  • --cmd {komut}: -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 en fazla 10 adet kullanılabilir.
  • --echo-wid: Yalnızca GTK GUI için pencere kimliğini standart çıktıya yazar.
  • --gui-dialog-file {ad}: GUI kullanırken iletişim kutusu göstermek yerine iletişim kutusunun başlığını ve mesajını {ad} dosyasına yazar. Test işlemleri için kullanışlıdır. GUI olmadan yoksayılır.
  • --help, -h, -?: Komut satırı bağımsız değişkenleri ve seçenekleri hakkında kısa yardım sunar, ardından Vim sonlanır.
  • --literal: Dosya adı bağımsız değişkenlerini literal alır ve joker karakterleri genişletmez. Kabuğun joker karakterleri genişlettiği Unix üzerinde etkisi yoktur.
  • --log {dosya_adı}: Vim eval ve channel özellikleriyle derlenmişse günlük kaydını başlatır ve girdileri {dosya_adı} dosyasına yazar.
  • --nofork: Ön plan modudur. GUI sürümü için Vim alt süreç oluşturup başlatıldığı kabuktan ayrılmaz.
  • --noplugin: Eklentilerin yüklenmesini atlar. -u NONE bunu içerir.
  • --not-a-term: Vim'e girdinin veya çıktının terminale bağlı olmadığının bilindiğini belirtir. Uyarıyı ve iki saniyelik gecikmeyi önler.
  • --remote: Bir Vim sunucusuna bağlanır ve bağımsız değişkenlerin geri kalanında verilen dosyaları düzenlemesini sağlar. Sunucu bulunamazsa uyarı verilir ve dosyalar mevcut Vim içinde düzenlenir.
  • --remote-expr {ifade}: Bir Vim sunucusuna bağlanır, içinde {ifade} değerini değerlendirir ve sonucu standart çıktıya yazdırır.
  • --remote-send {tuşlar}: Bir Vim sunucusuna bağlanır ve ona {tuşlar} tuşlarını 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 {ad}: Sunucu adı olarak {ad} kullanır. Başka sunucuya bağlanmak için --remote ile birlikte kullanılmadığı sürece mevcut Vim için kullanılır. Socketserver arka ucu kullanılıyorsa ve ad /, ./ veya ../ ile başlıyorsa sokete giden yol olarak kabul edilir.
  • --clientserver {arka_uç}: Clientserver işlevselliği için arka uç olarak socket veya x11 kullanır. Yalnızca hem socketserver hem de X11 özellikleri mevcut olacak şekilde derlendiğinde kullanılabilir.
  • --socketid {id}: Yalnızca GTK GUI için gVim'i başka bir pencerede çalıştırmak üzere GtkPlug mekanizmasını kullanır.
  • --startuptime {dosya}: Başlatma sırasındaki zamanlama mesajlarını {dosya} dosyasına yazar.
  • --ttyfail: Standart girdi veya standart çıktı terminal değilse hemen çıkar.
  • --version: Sürüm bilgilerini yazdırır ve çıkar.
  • --windowid {id}: Yalnızca Win32 GUI için gVim'in {id} penceresini üst pencere olarak kullanmaya çalışmasını sağlar.

Çevrim İç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 <Tab> ve CTRL-D tuşlarını kullanın; ayrıntılar için :help cmdline-completion komutuna bakın. Bir yerden diğerine atlamak için etiketler mevcuttur; ayrıntılar için :help komutuna bakın.

Tüm belgelendirme dosyaları bu şekilde görüntülenebilir; örneğin :help syntax.txt.

Dosyalar

  • /usr/local/share/vim/vim??/doc/*.txt: Vim belgelendirme dosyaları. Tam liste için :help doc-file-list komutunu kullanın. Burada vim?? kısa sürüm numarasıdır; örneğin Vim 9.1 için vim91.
  • /usr/local/share/vim/vim??/doc/tags: Belgelendirme dosyalarında bilgi bulmak için kullanılan etiketler dosyası.
  • /usr/local/share/vim/vim??/syntax/syntax.vim: Sistem genelinde sözdizimi başlatma işlemleri.
  • /usr/local/share/vim/vim??/syntax/*.vim: Çeşitli diller için sözdizimi dosyaları.
  • /usr/local/share/vim/vimrc: Sistem genelinde Vim başlatma işlemleri.
  • ~/.vimrc, ~/.vim/vimrc, $XDG_CONFIG_HOME/vim/vimrc: Kişisel Vim başlatma işlemleri. Bulunan ilk dosya kullanılır.
  • /usr/local/share/vim/gvimrc: Sistem genelinde gVim başlatma işlemleri.
  • ~/.gvimrc, ~/.vim/gvimrc, $XDG_CONFIG_HOME/vim/gvimrc: Kişisel gVim başlatma işlemleri. Bulunan ilk dosya kullanılır.
  • /usr/local/share/vim/vim??/optwin.vim: Seçenekleri görüntülemek ve ayarlamak için güzel bir yol sunan :options komutu için kullanılan betik.
  • /usr/local/share/vim/vim??/menu.vim: gVim için sistem genelinde menü başlatma işlemleri.
  • /usr/local/share/vim/vim??/bugreport.vim: Hata raporu üretmek 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.

Güncel bilgiler için Vim ana sayfasını ziyaret edin:

http://www.vim.org/

Ayrıca Bakınız

vimtutor(1)

Yazar

Vim'in büyük kısmı, başkalarının da yardımıyla Bram Moolenaar tarafından geliştirilmiştir. Vim içinde :help credits komutuna bakın.

Vim, Stevie'ye dayanmaktadır. Stevie üzerinde çalışanlar Tim Thompson, Tony Andrews ve G.R. (Fred) Walter'dır. Ancak orijinal koddan neredeyse hiçbir şey kalmamıştır.

Hatalar

Muhtemelen vardır. Bilinen sorunların listesi için :help todo komutuna bakın.

Bazıları tarafından hata olarak görülebilecek bazı davranışlar, Vi'ın davranışının sadık şekilde yeniden üretilmesinden kaynaklanır. "Vi bunu farklı yapıyor" diye hata olduğunu düşündüğünüz şeyler için vi_diff.txt dosyasına bakın veya Vim içinde :help vi_diff.txt yazın. Ayrıca compatible ve cpoptions seçeneklerine de göz atın.