Set ve: set arasındaki fark nedir?


17

Tim Pope'un vim duyarlı eklentisine bakıyordum ve bunu README'de fark ettim ...

Yetkili özellikler listesi için kaynağa bakın. (Endişelenme, çoğunlukla :setçağırıyor.)

Kaynağa baktığımda, :setaramalar böyle ...

set autoindent

:Önce hiç yok set.

Ben aslında :setörnek .vimrcs de gördüm eminim .

Fark ne?

Hangi formda kullanmalıyım .vimrc?

Yanıtlar:


22

"Komut dosyası", bir dizi ex komutu çalıştırmaktan başka bir şey yapmaz. Vim'de kullandığınızda "ex komutu" yazdığınız şeydir :. Örneğin :wq, :set wrap, :e filevb hepsi eski komutlardır.

Bu :, komutun bir parçası değildir; sadece komut satırı modunu başlatmak için bir tuş vuruşu; her zaman :, örneğin birden fazla komutu zincirlediğinizde |, :birden çok kez tekrarlamanız gerekmez . Örneğin, :write | quitiyi çalışır.

Kolaylık sağlamak için :olsa da dahil edilebilir. Bu, kopyalama / yapıştırma vb. Yardımcı olur, ancak zorunlu değildir. Önemli değil. Aslında, tüm önde gelenler :göz ardı edilir. :write, writeve :::::::::writeişlevselliği açısından eşdeğerdir (açıkçası akıl sağlığı açısından olmasa da).

Bunun :bir ex komutu olduğunu açıklığa kavuşturmak için in belgelerini dahil etmek genellikle yararlıdır . Örneğin , sonraki kelimeye gitmek için ya normal mod komutuna wbaşvurabilir .:ww

Bunun her şey için geçerli olduğunu unutmayın . Gibi kontrol yapıları ifve endifvardır da sadece eski komutlar; böyle bir şey yazabilirsiniz:

:if 1
:echo 'one'
:endif

Vim komut satırından gayet iyi; "betik" gerekmez. Vim betikleri çok "sihirli olmayan" ve "özel olmayan" dır; ex komut satırından yapabileceğiniz her şeyi bir Vim betiğinde yapabilirsiniz.


6

Fark yok. Vim, vimrc'nizde (veya herhangi bir vimscript dosyasında): bir komuttan önce bir görürse, onu yok sayar . Ayrıca, yukarıda belirtildiği gibi, bu setkomuta özgü değildir .

Genellikle, :komutun vimrc (veya başka bir vimscript dosyasına) koymak yerine sizin tarafınızdan çalıştırılacağı anlamına gelir , ancak bu genellikle bağlama bağlıdır. Şahsen, vimscript dosyalarındaki komutlardan önce iki nokta üst üste koymamak çok daha iyi görünüyor ve çoğu insanın da yaptığı gibi görünüyor.

Daha fazlası için bakınız :help script.


:h scriptveya :h vim-script-intro(eşdeğer)
VanLaser
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.