← man/text
view — man view — 80×24
ugur@toprak:~/man/text$man view
Bölüm 1 Metin İşleme

view

Vi IMproved, programcılar için geliştirilmiş bir metin düzenleyici

Kullanım

       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 bir metin düzenleyicidir. Her türlü düz metni düzenlemek için kullanılabilir. Özellikle program kodlarını düzenlemek için oldukça kullanışlıdır.

Vi'ye kıyasla pek çok geliştirme içerir: çok düzeyli geri alma (undo), çoklu pencere ve arabellek (buffer) desteği, sözdizimi vurgulama (syntax highlighting), komut satırı düzenleme, dosya adı tamamlama, çevrim içi yardım, görsel seçim (visual selection) vb. Vim ile Vi arasındaki farkların bir özeti için ":help vi_diff.txt" komutunu inceleyin.

Vim çalışırken, çevrim içi yardım sisteminden ":help" komutu ile bol miktarda yardım alınabilir. Aşağıdaki ÇEVRİM İÇİ YARDIM bölümüne bakın.

Vim çoğunlukla tek bir dosyayı düzenlemek amacıyla şu komutla başlatılır:

vim dosya

Daha genel olarak Vim şu şekilde başlatılır:

vim [seçenekler] [dosyalistesi]

Eğer dosyalistesi belirtilmemişse, düzenleyici boş bir arabellek ile başlar. 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 adı listesi. İlk dosya geçerli dosya olacak ve arabelleğe okunacaktır. İmleç arabelleğin ilk satırında konumlanacaktır. Diğer dosyalara ":next" komutu ile geçebilirsiniz. Tire işaretiyle (-) başlayan bir dosyayı düzenlemek için, dosya listesinin önüne "--" ekleyin.

  •      Düzenlenecek dosya standart girdiden (stdin) okunur. Komutlar ise bir tty olması gereken standart hatadan (stderr) okunur.
    
  • -t {etiket}: Düzenlenecek dosya ve başlangıç imleç konumu bir "etiket"e (bir tür gitme etiketine - goto label) bağlıdır. {etiket} ifadesi tags dosyasında aranır, ilgili dosya geçerli dosya haline gelir ve ilişkili komut yürütülür. Bu özellik çoğunlukla C programları için kullanılır; bu durumda {etiket} bir fonksiyon adı olabilir. Bunun etkisi, o fonksiyonu içeren dosyanın geçerli dosya haline gelmesi ve imlecin fonksiyonun başlangıcına konumlanmasıdır. Detaylı bilgi için ":help tag-commands" komutuna bakın.

-q [hata_dosyası] QuickFix modunda başlatır. [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 olarak "AztecC.Err", diğer sistemlerde "errors.err" değerini alır). Sonraki hatalara ":cn" komutu ile atlanabilir. Detaylı bilgi için ":help quickfix" komutuna bakın.

Vim, çağrıldığı komutun adına bağlı olarak farklı davranır (çalıştırılabilir dosya yine de aynı dosya olabilir).

vim "Normal" yöntemdir, her şey varsayılandır.

ex Ex modunda başlatır. Normal moda ":vi" komutu ile geçilebilir. Ayrıca "-e" argümanı ile de bu modda başlatılabilir.

view Salt okunur (read-only) modda başlatır. Dosyaları yazmaya karşı korunursunuz. Ayrıca "-R" argümanı ile de yapılabilir.

gvim gview GUI sürümüdür. Yeni bir pencere açar. Ayrıca "-g" argümanı ile de yapılabilir.

evim eview Kolay modda (easy mode) GUI sürümüdür. Yeni bir pencere açar. Ayrıca "-y" argümanı ile de yapılabilir.

rvim rview rgvim rgview Yukarıdakiler gibidir ancak kısıtlamaları vardır. Kabuk (shell) komutları çalıştırmak veya Vim'i askıya almak (suspend) mümkün olmayacaktır. Ayrıca "-Z" argümanı ile de yapılabilir.

Seçenekler

Seçenekler dosya adlarından önce veya sonra olmak üzere herhangi bir sırayla verilebilir. Argümanı olmayan seçenekler tek bir tireden sonra birleştirilebilir.

+[sayı] İlk dosya için imleç "sayı" satırına konumlandırılacaktır. Eğer "sayı" belirtilmemişse, imleç son satıra konumlandırılacaktır.

+/{şablon} İlk dosya için imleç, {şablon} ifadesinin ilk eşleştiği satıra konumlandırılacaktır. Kullanılabilir arama şablonları için ":help search-pattern" komutuna bakın.

+{komut}

-c {komut} İlk dosya okunduktan sonra {komut} 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ıdır). Ö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 eşlemesi ile derlenmişse, bu seçenek Vim'i Arapça modunda başlatır, yani 'arabic' ayarlanır. Aksi takdirde bir hata mesajı verilir ve Vim sonlanır.

  • -b: İkili (binary) mod. İkili veya çalıştırılabilir bir dosyayı düzenlemeyi mümkün kılan birkaç seçenek ayarlanır.

  • -C: Uyumlu (compatible) mod. 'compatible' seçeneğini ayarlar. Bu seçenek, bir .vimrc dosyası mevcut olsa bile Vim'in çoğunlukla Vi gibi davranmasını sağlar.

  • -d: 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 {aygıt}, -dev {aygıt} {aygıt} terminal olarak kullanılmak üzere açılır. Yalnızca Amiga'da geçerlidir. Örnek: "-d con:20/30/600/150".

  • -D: Hata ayıklama (debugging). Bir betikten ilk komut yürütülürken hata ayıklama moduna geçer.

  • -e: Vim'i Ex modunda başlatır, tıpkı çalıştırılabilir dosyanın adı "ex" gibi çağrılmış gibi.

  • -E: Vim'i geliştirilmiş Ex modunda başlatır, tıpkı çalıştırılabilir dosyanın adı "exim" gibi çağrılmış gibi.

  • -f: Ön plan (foreground). GUI sürümü için, Vim çatallanmayacak (fork) ve başlatıldığı kabuktan ayrılmayacaktır. Amiga üzerinde Vim, yeni bir pencere açmak için yeniden başlatılmaz. Bu seçenek, Vim'in düzenleme oturumunun bitmesini bekleyecek bir program tarafından çalıştırılması durumunda (örneğin mail) 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 eşlemesi ile derlenmişse, bu seçenek Vim'i Farsça modunda başlatır, yani 'fkmap' and 'rightleft' ayarlanır. Aksi takdirde bir hata mesajı verilir ve Vim sonlanır. Not: Farsça desteği yama 8.1.0932 ile kaldırılmıştır.

  • -g: Eğer Vim, GUI desteğiyle derlenmişse bu seçenek GUI'yi etkinleştirir. GUI desteği derlenmemişse bir hata mesajı verilir ve Vim sonlanır.

  • -H: Eğer Vim, sağdan sola yazılan dosyaları düzenlemek için RIGHTLEFT desteği ve İbranice klavye eşlemesi ile derlenmişse, bu seçenek Vim'i İbranice modunda başlatır, yani 'hkmap' ve 'rightleft' ayarlanır. Aksi takdirde bir hata mesajı verilir ve Vim sonlanır.

-i {viminfo} Varsayılan "~/.viminfo" yerine viminfo dosyasını okurken veya yazarken kullanılacak dosya adını belirtir. "NONE" adı verilerek viminfo dosyasının kullanımı atlanabilir.

  • -l: Lisp modu. '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. Arabelleği değiştirmeye devam edebilirsiniz ancak dosyayı kaydetmek (yazmak) mümkün değildir.

  • -M: Değişikliklere izin verilmez. 'modifiable' ve 'write' seçenekleri sıfırlanır, böylece değişiklik yapılmasına izin verilmez ve dosyalar kaydedilemez. Bu seçeneklerin daha sonra değişiklik yapmayı etkinleştirmek üzere ayarlanabileceğini unutmayın.

  • -n: Takas (swap) dosyası kullanılmaz. Bir çökme sonrasında kurtarma yapmak imkansız olacaktır. Çok yavaş bir ortamdaki (örneğin disket) bir dosyayı düzenlemek istiyorsanız kullanışlıdır. Ayrıca ":set uc=0" ile de yapılabilir. ":set uc=200" ile geri alınabilir.

  • -N: Uyumsuz (no-compatible) mod. 'compatible' seçeneğini sıfırlar. Bu, bir .vimrc dosyası mevcut olmasa bile Vim'in biraz daha iyi davranmasını ancak Vi ile daha az uyumlu olmasını sağlar.

  • -nb: NetBeans için bir düzenleyici sunucusu olur. Ayrıntılar için belgelere bakın.

  • -o[N]: Üst üste yığılmış N adet pencere açar. N belirtilmediğinde her dosya için bir pencere açar.

  • -O[N]: Yan yana N adet pencere 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 {üst-başlık} Yalnızca Win32 GUI: Üst uygulamanın başlığını belirtir. Mümkün olduğunda Vim, uygulama içinde bir MDI penceresinde çalışacaktır. {üst-başlık} üst uygulamanın pencere başlığında yer almalıdır. Bunun yeterince belirleyici olduğundan emin olun. Bu uygulamanın henüz ilkel olduğunu unutmayın. Tüm uygulamalarla çalışmayabilir ve menü çalışmaz.

  • -r: Kurtarma amacıyla kullanılmak üzere takas dosyalarını ve bunlarla ilgili bilgileri listeler.

  • -r {dosya}: Kurtarma modu. Çöken bir düzenleme oturumunu kurtarmak için takas dosyası kullanılır. Takas dosyası, metin dosyasıyla aynı ada sahip ve sonuna ".swp" eklenmiş bir dosyadır. Detaylı bilgi için ":help recovery" komutuna bakın.

  • -R: Salt okunur mod. 'readonly' seçeneği ayarlanır. Arabelleği yine de düzenleyebilirsiniz ancak bir dosyanın üzerine yanlışlıkla yazmanız engelenir. Eğer bir dosyanın üzerine yazmak istiyorsanız, ":w!" komutunda olduğu gibi Ex komutuna ünlem işareti ekleyin. -R seçeneği aynı zamanda -n seçeneğini de kapsar (yukarıya bakın). 'readonly' seçeneği ":set noro" komutu ile sıfırlanabilir. Ayrıntılı bilgi için ":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 {betikgirdisi} {betikgirdisi} betik dosyası okunur. Dosyadaki karakterler, sanki onları klavyeden yazmışsınız gibi yorumlanır. Aynı işlem ":source! {betikgirdisi}" komutu ile de yapılabilir. Düzenleyiciden çıkılmadan önce dosyanın sonuna ulaşılırsa, sonraki karakterler klavyeden okunur.

  • -S {dosya}: İlk dosya okunduktan sonra {dosya} çalıştırılacaktır (source). Bu, - -c "source {dosya}" komutu ile eşdeğerdir. {dosya} '-' ile başlayamaz. Eğer {dosya} 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 algılamanın çalışmadığı durumlarda gereklidir. Vim tarafından bilinen (yerleşik) veya termcap ya da terminfo dosyasında tanımlanmış bir terminal olmalıdır.

  • -u {vimrc}: Başlangıç ayarları için {vimrc} dosyasındaki komutları kullanır. Diğer tüm başlangıç ayarları atlanır. Özel türdeki dosyaları düzenlemek için bunu kullanın. "NONE" adı verilerek tüm başlangıç ayarlarının atlanması da sağlanabilir. Vim içinde daha fazla ayrıntı için ":help initialization" komutuna bakın.

  • -U {gvimrc}: GUI başlangıç ayarları için {gvimrc} dosyasındaki komutları kullanır. Diğer tüm GUI başlangıç ayarları atlanır. "NONE" adı verilerek tüm GUI başlangıç ayarlarının atlanması da sağlanabilir. Vim içinde daha fazla ayrıntı için ":help gui-init" komutuna bakın.

  • -v: Vim'i Vi modunda başlatır, tıpkı çalıştırılabilir dosya "vi" adıyla çağrılmış gibi. Bu seçenek yalnızca çalıştırılabilir dosya "ex" olarak çağrıldığında etkilidir.

  • -V[N]: Ayrıntılı (verbose) mod. Hangi dosyaların çalıştırıldığı (source) ve bir viminfo dosyasının okunup yazıldığına dair mesajlar verir. İsteğe bağlı N sayısı 'verbose' seçeneğinin değeridir. Varsayılan değer 10'dur.

-V[N]{dosyaadı} -V gibi çalışır ve 'verbosefile' seçeneğini {dosyaadı} olarak ayarlar. Sonuç olarak mesajlar ekranda gösterilmez, bunun yerine {dosyaadı} dosyasına yazılır. {dosyaadı} bir rakamla başlamamalıdır.

  • -w{sayı}: 'window' seçeneğini {sayı} değerine ayarlar.

-w {betikçıktısı} Klavyeden yazdığınız tüm karakterler, Vim'den çıkana kadar {betikçıktısı} dosyasına kaydedilir. Bu, "vim -s" veya ":source!" ile kullanılmak üzere bir betik dosyası oluşturmak istiyorsanız kullanışlıdır. Eğer {betikçıktısı} dosyası zaten mevcutsa, karakterler dosyanın sonuna eklenir.

-W {betikçıktısı} -w seçeneği gibidir, ancak mevcut bir dosyanın üzerine yazılır.

  • -x: Eğer Vim şifreleme desteğiyle derlenmişse, dosyaları yazarken şifreleme kullanır. Bir şifreleme anahtarı isteyecektir.

  • -X: X sunucusuna bağlanmaz. Bir terminalde başlangıç süresini kısaltır ancak pencere başlığı ve pano (clipboard) kullanılmaz.

  • -Y: Wayland görüntü sunucusuna bağlanmaz.

  • -y: Vim'i kolay modda başlatır, tıpkı çalıştırılabilir dosya "evim" veya "eview" adıyla çağrılmış gibi. Vim'in tıkla-ve-yaz tarzı bir düzenleyici gibi davranmasını sağlar.

  • -Z: Kısıtlı mod. Çalıştırılabilir dosyanı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: Hiçbir kişisel yapılandırmayı (vimrc, eklentiler vb.) kullanmaz. Bir sorunun temiz bir Vim kurulumunda tekrarlanıp tekrarlanmadığını görmek için kullanışlıdır.

--cmd {komut} "-c" seçeneğini 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: Pencere kimliğini (Window ID) standart çıktıya (stdout) yazar.

--gui-dialog-file {ad} GUI kullanırken, bir iletişim kutusu göstermek yerine iletişim kutusunun başlığını ve mesajını {ad} dosyasına yazar. Dosya oluşturulur veya sonuna ekleme yapılır. Yalnızca testin görünmeyen bir iletişim kutusunda takılıp kalmasını önlemek amacıyla test için kullanışlıdır. GUI olmadan bu argüman yok sayılır.

--help, -h, -? Komut satırı argümanları ve seçenekleri hakkında kısa bir yardım sunar. Ardından Vim sonlanır.

  • --literal: Dosya adı argümanlarını tam anlamıyla alır, joker karakterleri (wildcard) genişletmez. Kabuğun joker karakterleri genişlettiği Unix üzerinde bunun bir etkisi yoktur.

--log {dosyaadı} Eğer Vim, eval ve channel özellikleri ile derlenmişse, günlük kaydını başlatır ve kayıtları {dosyaadı} dosyasına yazar. Bu, başlangıç aşamasının çok erken bir anında ch_logfile({dosyaadı}, 'ao') çağrısı yapmak gibi çalışır.

  • --nofork: Ön plan. GUI sürümü için, Vim çatallanmayacak (fork) ve başlatıldığı kabuktan ayrılmayacaktır.

  • --noplugin: Eklentilerin yüklenmesini atlar. -u NONE seçeneği bunu kapsar.

--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, uyarıyı ve oluşacak iki saniyelik gecikmeyi önler.

  • --remote: Bir Vim sunucusuna bağlanır ve geri kalan argümanlarda verilen dosyaları onun düzenlemesini sağlar. Eğer bir sunucu bulunamazsa bir uyarı verilir ve dosyalar geçerli Vim üzerinde düzenlenir.

--remote-expr {ifade} Bir Vim sunucusuna bağlanır, içinde {ifade} ifadesini değerlendirir ve sonucu standart çıktıda (stdout) yazdırır.

--remote-send {tuşlar} Bir Vim sunucusuna bağlanır ve ona {tuşlar} tuş dizisini gönderir.

--remote-silent --remote gibidir, ancak sunucu bulunamadığında uyarı vermez.

--remote-wait --remote gibidir, ancak dosyalar düzenlenene kadar Vim sonlanmaz.

--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} ifadesini kullanır. Bir --remote argümanı ile kullanılmadığı sürece geçerli Vim için kullanılır; --remote ile kullanıldığında bağlanılacak sunucunun adıdır. Eğer socketserver arka ucu kullanılıyorsa ve ad "/", "./" veya "../" ile başlıyorsa, sokete giden mutlak veya göreceli bir yol olarak kabul edilir.

--clientserver {arka_uç} İstemci-sunucu (clientserver) işlevselliği için arka uç olarak sırasıyla "socket" veya "x11" kullanır. Yalnızca hem socketserver hem de X11 özellikleri mevcut olacak şekilde derlendiğinde kullanılabilir.

--socketid {kimlik} Yalnızca GTK GUI: gVim'i başka bir pencerede çalıştırmak için GtkPlug mekanizmasını kullanır.

--startuptime {dosya} Başlangıç sırasında zamanlama mesajlarını {dosya} dosyasına yazar.

  • --ttyfail: Standart girdi (stdin) veya standart çıktı (stdout) bir terminal (tty) olmadığında hemen sonlanır.

  • --version: Sürüm bilgilerini yazdırır ve sonlanır.

--windowid {kimlik} Yalnızca Win32 GUI: gVim'in {kimlik} penceresini bir üst pencere olarak kullanmaya çalışmasını sağlar, böylece o pencerenin içinde çalışır.

Ç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 ve CTRL-D tuşlarını kullanın (":help cmdline-completion"). Bir yerden diğerine atlamak için etiketler mevcuttur (bir tür hiper metin bağlantıları, bkz. ":help"). 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 listeyi almak için ":help doc-file-list" komutunu kullanın. vim?? ifadesi, 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 etiket dosyası.

/usr/local/share/vim/vim??/syntax/syntax.vim Sistem genelindeki sözdizimi başlangıç ayarları.

/usr/local/share/vim/vim??/syntax/*.vim Çeşitli diller için sözdizimi dosyaları.

/usr/local/share/vim/vimrc Sistem genelindeki Vim başlangıç ayarları.

~/.vimrc, ~/.vim/vimrc, $XDG_CONFIG_HOME/vim/vimrc Kişisel Vim başlangıç ayarlarınız (bulunan ilk dosya kullanılır).

/usr/local/share/vim/gvimrc Sistem genelindeki gvim başlangıç ayarları.

~/.gvimrc, ~/.vim/gvimrc, $XDG_CONFIG_HOME/vim/gvimrc Kişisel gVim başlangıç ayarlarınız (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 tarafından kullanılan betik.

/usr/local/share/vim/vim??/menu.vim gVim için sistem genelindeki menü başlangıç ayarları.

/usr/local/share/vim/vim??/bugreport.vim Hata raporu oluşturmak için betik. Bkz. ":help bugs".

/usr/local/share/vim/vim??/filetype.vim Bir dosyanın türünü adına göre algılamak için betik. Bkz. ":help 'filetype'".

/usr/local/share/vim/vim??/scripts.vim Bir dosyanın türünü içeriğine göre algılamak için betik. Bkz. ":help 'filetype'".

/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ı ziyaret edin: URL:http://www.vim.org/

Ayrıca Bkz.

vimtutor(1)

Yazar

Vim'in büyük bölümü, diğerlerinden gelen pek çok yardımla birlikte Bram Moolenaar tarafından geliştirilmiştir. Vim içindeki ":help credits" bölümüne bakın. Vim; Tim Thompson, Tony Andrews ve G.R. (Fred) Walter tarafından üzerinde çalışılmış olan Stevie'yi temel alı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ı kişiler tarafından hata olarak kabul edilebilecek bir dizi şeyin, 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)