Tab Vs Alanı Vim tercihleri
Vim sekmesine gelince ev çok Vs. alanı tercihleri. Anladığım kadarıyla tabstop
ayar sekme karakteri genişliğini gösterir. shiftwidth
ayarı kullanırken arttırma/azaltma için kaç sütun belirtir<<vesofttabstop
ayarı boşluk miktarını bastığınızda eklenecek etkiler ise komutlarıTabekleme modu anahtarı. Eğer expandtab
eğer tab tuşuna ekler alanı softtabstop
sayı karakter. expandtab
kapalı ise, tuşuna basarakTabsofttabstop
eşleşen bir sekme alanı mümkün olan en küçük sayı tuşuna karakter ekler. (Eğer yanılıyorsam beni düzeltin lütfen.)
Merak ediyorum, bu son nokta: shiftwidth == tabstop && tabstop == softtabstop
istemezsin pratik bir durum var mı? Bir düşünemiyorum. Endişe duyuyorum kadarıyla, eğer tek bir atama ile aynı değeri bunların hepsi 3 set, eğer yapabilseydim en uygun olacaktır. örneğin arama:
:set stab=4
çalışan eşdeğer olur:
:set tabstop=4 softtabstop=4 shiftwidth=4
Herkes bu yapılabilir nasıl önerebilirsiniz?
< / ^ hr .
GÜNCELLEME
Şimdiye kadar gelen cevaplar için teşekkürlerçok fazla php,hobbsvekaiser.se. Her biri ayrı ayrı yanıtlamak yerine, burada sorumu yeniliyorum.
Expandtab ile Softtabstop kapalı
Expandtab, Tab tuşuna basarak ekler softtabstop
eşleşen sekme alanı olabildiğince az sayıda karakter kapalı yukarıda dedim. - Evet, ama ne demek istediğimi açıklamak istiyorum. Bu yüzden birkaç örnek ile yapmaya çalışacağım. Birlikte takip etmek, çalıştırmak sekme karakterleri görebilmeniz 14**.
tabstop=4 softtabstop=2 shiftwidth=4 noexpandtab
Ekleme modu, sekme tuşu ekler 2 boşluk karakterleri basmak. Tab tuşuna ikinci kez basın ve iki daha fazla boşluk karakterleri (4 boşluk karakterlerini toplam) eklemek yerine tek bir sekme karakteri ile önceki 2 boşlukları değiştirir. Tabstop tek bir sekme karakteri 4 boşlukları aynı genişlikte, yani 4, ayarlanır.
tabstop=4 softtabstop=6 shiftwidth=4 noexpandtab
Ekleme modunda, sekme tuşu ekler 1 sekme karakteri artı 2 boşluk tuşuna basarak. Sekme karakteri toplam genişliği 6, ve bu elde 3 karakter kullanıyor yani 4, genişliği vardır. Sekmesini ikinci kez tuşa basarak iki sekme karakteri ekler ve daha önce eklenmiş iki boşlukları kaldırır. Toplam genişliği 12, ve bu elde 3 karakter kullanıyor.
Bu örneklerden her ikisi de, ekler softtabstop uyan tab, boşluk karakteri ve olası en az sayıda Vim.
Eğer expandtab kapalıyken çalışıyorum, tabstop farklı bir değere softtabstop ayarlayarak elde edilebilir ekstra taneli kontrolü kendim göremiyorum. Hala bana tek bir komut ile aynı değere tabstop
, softtabstop
shiftwidth
set edebilmek için yararlı olacaktır.
Expandtab softtabstop yedek yapar mı?
tabstop=4 softtabstop=0 shiftwidth=4 expandtab
Ekleme modunda, sekme tuşu ekler 4 boşluk tuşuna basarak. Silme tuşu varsa yanlışlıkla tab tuşuna basarsan 4 kez geri almak için var ve bu yüzden tek bir alanı siler.
tabstop=4 softtabstop=4 shiftwidth=4 expandtab
Ekleme modunda, sekme tuşu ekler 4 boşluk tuşuna basarak. Backspace tuşu 4 yerleri siler.
Eğer expandtab
açık çalışıyorum, sekme tuşu olarak boşluk ekler aynı miktarda kaldırmak için delete tuşuna tercih ederim. Bu durumda da, tabstop
, softtabstop
shiftwidth
aynı anda değer atamak mümkün yararlı olacağını hissediyorum.
Bir kısayol hala yararlı olacaktır
Vim çok esneklik sağlar harika bir şey, ama kendim gerek görmüyorum. Sadece yanında olmak istiyorum seçebilir genişliği bir sekme ya da öyle bir 'sert' tab kullanarak bir sekme karakteri) ya da 'yumuşak' sekmesini (uydurma boşluk). Sert ve yumuşak sekmeler arasında geçiş çok kolay (:set expandtab!
), ama daha basit sekme genişliği, 3 farklı parametreleri ile keman zorunda kalmadan ayarlamak isterdim.
:set stab=4
gibi bir şey için önerilen benim önerim yine de bana iyi geliyor.
CEVAP
Oluşturma stab
seçeneği Vim kendisi olmaz kolay, ama ben çırpılmış bu komut/fonksiyon olan damla .vimrc
(veya bir eklenti dosyası eğer süper-organize). :Stab
ve / veya expandtab
kullanılıp kullanılmayacağını girinti düzeyi ve istenir. Eğer yeni bir girinti bir seviye vermeden, ENTER'a basın eğer, sadece geçerli ayarları yazdırılır.
" put all this in your .vimrc or a plugin file command! -nargs=* Stab call Stab() function! Stab() let l:tabstop = 1 * input('set shiftwidth=') if l:tabstop > 0 " do we want expandtab as well? let l:expandtab = confirm('set expandtab?', "&Yes\n&No\n&Cancel") if l:expandtab == 3 " abort? return endif let &l:sts = l:tabstop let &l:ts = l:tabstop let &l:sw = l:tabstop if l:expandtab == 1 setlocal expandtab else setlocal noexpandtab endif endif " show the selected options try echohl ModeMsg echon 'set tabstop=' echohl Question echon &l:ts echohl ModeMsg echon ' shiftwidth=' echohl Question echon &l:sw echohl ModeMsg echon ' sts=' echohl Question echon &l:sts . ' ' . (&l:et ? ' ' : 'no') echohl ModeMsg echon 'expandtab' finally echohl None endtry endfunction
Nasıl bir HTML tablo saklayacak kadar ...
- &Quot;kullanın ya da Çalışma alanı o...
Nasıl bir giriş alanı autocapitalize?...
.debug yeni etki alanı için tüm sayfal...
PHP bir URL ayrıştırma Etki alanı...