Expandtab ayarlandığında sekmeleri INSERT moduna ekle


12

Ben belirledik expandtabbenim de .vimrcdönüştürmek için dosyanın tabbirden üzere spacekarakterler. Ancak bazı dosyalar (Makefile gibi) gerçekte tabeklenen karaktere ihtiyaç duyar .

tabBen yazarken ekleme zorlamak için kolay bir yolu var mı ?

Yanıtlar:


27

Sadece tuşuna basmak yerine Tabönce tuşuna Ctrl-Vsonra da tuşuna basın Tab.

Bu, çeşitli özel karakterleri eklemek için kullanılabilir. Ayrıntılar :help i_CTRL-Viçin bakınız.

Ctrl-Vayrıca komut satırı modunda ( :help c-CTRL-V) ve hatta bazı diğer programlarda tamamen çalışır. (örneğin bash, mutt.)

Başka bir Ctrl-Vşeye eşlediyseniz deneyin Ctrl-Q. Bu Vim'de aynı etkiye sahiptir Ctrl-V, ancak bazı terminaller bunu kontrol akışı için kullanır, bu durumda Vim hiç görmez.


5
Veya <c-v>009bozuk Tab tuşu veya hardcore ASCII
safkan

17

Davranışınızı değiştirmek yerine (hataya eğilimli).
Ben vim bu dosya türü için farklı davranacak şekilde ayarlar.

Bu yüzden normal düzenlememde sekmeleri genişletiyorum. Ancak özellikle makedosyalar için noexpandtabsekmeler korunacak şekilde ayarladım .

~ / .Vimrc dosyanıza aşağıdakileri ekleyin:

" Normal action
set expandtab

if has("autocmd")

    " If the filetype is Makefile then we need to use tabs
    " So do not expand tabs into space.
    autocmd FileType make   set noexpandtab

endif

3
Sorusunu cevapladım, ama aslında altta yatan sorunun benden daha iyi olduğunu anladın. Aferin.
Zengin

Bence her iki cevap da değerli. Çünkü bazen uzak bir yere giriş yaptınız ve vim config ile uğraşmak istemiyorsunuz, ancak hızlı bir şekilde bir Makefile düzenlemek istiyorsunuz.
Daniel Schmitz
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.