# Vi
vi, 1976 yılında BSD'nin ilk sürümleri için Bill Joy tarafından yazılmış ekran yönelimli metin düzenleme yazılımıdır.


## vi.
vi, modlu bir editördür ve etkin olan moda göre tuşlara değişik anlamlar yükler. "Yazım modunda" girilen yazı, harflerin imlecin hareket etmesine veya düzenleme fonksiyonlarına karşılık geldiği "komut moda" geçirir. Örneğin "j" imleci bir satır aşağıya, "k" bir satır yukarıya geçirir; "x" imlecin üzerinde olduğu karakteri siler ve "i" tekrar "yazım moda" geçmeyi sağlar. (vi kullanıcının terminal tipini bildiği sürece yön tuşları da kullanılabilir). "Komut moddayken" basılan tuşlar yazıya eklenmez ki bu yeni kullanıcılar için genellikle karışıklığa yol açar.
"Komut modundayken" <Alt>, <Ctrl> veya diğer özel tuşlar kullanılmaksızın satır içinde birden fazla düzenleme işlemi birkaç basit tuş yardımıyla yapılabilir. Daha karmaşık düzenleme işlemleri basit komutların dizi şeklinde bir araya getirilmesi ile yapılır. (Örneğin kelime silmek için "dw", imlecin bulunduğu yerden itibaren "a"ya kadar olan metnin değiştirilmesi için "c2fa"). Bu, deneyimli kullanıcıların daha hızlı çalışmasına olanak sağlamaktadır. Bu aynı zamanda kullanıcının ellerini klavyeden kaldırmasına gerek olmadığı anlamına da gelmektedir.
vinin ilk sürümleri hangi modda olduğunu belirtmiyordu ve bu, kullanıcıların hangi modda olduklarından emin olmak için "Escape" tuşuna basmalarının tipik bir davranış haline gelmesine sebep olmuştu(Eğer zaten komut modundaysa bip sesi duyulmaktaydı). vinin güncel sürümleri hangi modda çalışıldığını durum çubuğunda grafiksel olarak göstermektedir. vinin yeni sürümleri terminal tipi doğru ayarlandığı takdirde PgUp, PgDn, Home, End ve Del tuşlarının kullanımına izin vermektedir. Ayrıca vi'nin grafiksel uygulamaları(Örneğin gvim) fare kullanımına ve düzenleme komutlarına menü yardımıyla ulaşılmasına tam destek vermektedir.
Emacs'ın 1984'teki çıkışına kadar vi Unix standart düzenleyicileri arasında bir de facto idi ve MIT'nin dışında neredeyse tartışmasız bir şekilde hackerların gözdesiydi.
vi ve Emacs, klasik olarak düzenleyici savaşlarının iki tarafıdır.


## Vi hakkında.
  - vi, University of California, Berkeley'deki Evans Hall'da Lear-Siegler ADM3A terminal'de yazılmıştır. Bu makinede, Escape tuşu günümüzde Tab'ın olduğu yerdeydi ve bu sayede kullanıcıların oldukça etkili bir şekilde kipler(modlar) arasında geçiş yapmasını sağlıyordu.
  - Bir emacs-severin vi açılımı: "vicious interface"(gaddar arayüz)
  - Bazı insanlar insafsızca vi'nin "vile"ın(berbat) kısaltılmışı olduğunu söyler.
  - David Hitz vi makrolarını kullanarak bir Turing makinesi benzetimi yapmıştır .
  - Internet arama motoru Snap.com vi arayüzü ve komutları kullanarak visearch.com olarak adlandırılan arama motorunu yaratmıştır.webpage


## vi türev ve klonları.
  - vi, klasik BSD vi 3.7'nin modern Unix sistemlerine taşınmış halidir. 2002 Ocak'ından beri BSD tarzı özgür ed'i kod tabanı olarak kullanır.
  - nvi, son resmi Berkeley Yazılım Dağıtım'ın(4.4BSD) bir parçası olarak dağıtılan ex/vi metin düzenleyicisinin bir uygulamasıdır. vi'nin bu sürümü tüm BSD-tabanlı açık kaynak dağıtımlar ile birlikte gelen sürümdür. Klasik vi'ye ek olarak komut geçmişi, dosya adı tamamlama, çoklu düzenleme tamponları, çoklu pencereleme ve daha birçok gelişme içerir. Bu geliştirmelerin dışında görünüm olarak az ya da çok klasik vi ile aynıdır. Küçük ve hızlıdır ayrıca Unix ortamı ile oldukça doğal bir şekilde harmanlanmıştır.
  - Vim "Geliştirilmiş Vi(Vi IMproved)" daha çok nvi gibi güncellenmiş ve genişletilmiş model bir düzenleyicidir. Çoğu Linux sistemde standart vi sürümüdür.
  - Elvis, Unix ve diğer işletim sistemleri için ücretsiz bir vi klonudur. Slackware Linux ile birlikte gelen vi sürümüdür.
  - Vigor, popüler Unix düzenleyicisi vi'ye Microsoft Office'in Clippy'si üzerinde kasıtlı bir şekilde can sıkıcı olarak canlandırılmış karakter Vigor Yardımcı'nın eklenmiş halidir.
  - vile ilk olarak Emacs'ın çoklu-pencere/çoklu tampon düzenleme paradigması gibi "modern" faydalarını, vi komut seti ile daha rahat eden kullanıcılara getirme girişimi olarak ilk kez Microemacs'ın ilk sürümlerinden türetilmiştir.
  - bvi "İkili VI(Binary VI)", vi metin düzenleyicisine dayanan bir ikili dosya düzenleyicisidir.
  - viper-mode, Emacs için vi taklit(öykülenme) kipidir.
  - svicc, Commodore (64) için ufak bir vi klonudur.
  - BusyBox (Tek bir çalıştırılabilir dosyada Unix araçları seti) minik bir vi klonu içerir.
  - Yzis düzenleyici