Uzun hatların birden fazla terminal hattı üzerinde gösterilmesini seviyorum; Bu vimin gerçek metnime yeni satırlar eklemesini sevmiyorum. .Vimrc'nin hangi bölümünü değiştirmeliyim?
Uzun hatların birden fazla terminal hattı üzerinde gösterilmesini seviyorum; Bu vimin gerçek metnime yeni satırlar eklemesini sevmiyorum. .Vimrc'nin hangi bölümünü değiştirmeliyim?
Yanıtlar:
kullanım
:set wrap
Çizgileri görsel olarak sarmak için, yani çizgi hala bir metin satırıdır, ancak Vim birden çok satırda görüntüler.
kullanım
:set nowrap
Uzun satırları tek bir satır olarak görüntülemek için (yani, tüm satırı görmek için yatay olarak kaydırmanız gerekir).
Uzun hatların birden fazla terminal hattı üzerinde gösterilmesini seviyorum
Bu tür görsel / sanal satır kaydırma, wrappencere seçeneğiyle etkinleştirilir :
set wrap
Bu vimin gerçek metnime yeni satırlar eklemesini sevmiyorum.
Fiziksel satır kaydırmayı kapatmak için hem textwidthve wrapmarginarabellek seçeneklerini temizleyin :
set textwidth=0 wrapmargin=0
set textwidth=0 wrapmargin=0çalışır, ancak içine koyarsam .vimrc, örneğin düz metin dosyaları için bir etkisi yoktur. Üzerine yazmayı nasıl bulabilir ve ortadan kaldırabilirim?
:verbose set textwidth? wrapmargin?. Bu size mevcut değerlerini ve nerede ayarlandıklarını söyleyecektir. Onları geçersiz kılan bir eklentiniz olabilir. Bu durumda, bu eklentiyi kaldırabilir veya eklenti ayarını daha sonra çalışma zamanınızda (örn. ~/.vim/after) Veya kendi otomatik komutunuzla geçersiz kılmayı deneyebilirsiniz . Doğru yaklaşım, nerede / nasıl sıfırlandığına bağlı olacaktır.
set wrapve set linebreakbunu benim için yaptı.
Tamamen anladığımdan emin değilim, ancak 'formatoptions' yapılandırma ayarını arıyor olabilirsiniz. Gibi bir şey deneyin :set formatoptions-=t. Bu tseçenek, metin tarafından ayarlanan genişlikte kaydırma yapmak için satır sonları ekler textwidth. Ayrıca bu komutu koyabilirsiniz .vimrc, iki nokta üst üste ( :) kaldırmak .
tw.
Kullanın :set nowrap.. bir cazibe gibi çalışır!
:set tw=0
VIM satır sonlarını otomatik olarak eklemez, ancak satır kaydırmaya devam eder.
set lbrYararlı bulabilirsiniz ; bununla set wrapsarılır, ancak bir kelimenin ortasında değil, yalnızca boşlukta çizgi keser.
Örneğin
without lbr the li
ne can be split on
a word
ve
with lbr on the
line will be
split on
whitespace only
set nolinebreakyerineset lbr
set formatoptions-=t Görsel metin genişliğini korur, ancak ekleme modunda yeni satır eklemez.
Böylesine basit bir ortamın çalışması için bu miktarda 'hocus-pocus' gerektirmesi garip.
Sorunuzu şimdi cevaplamak için, benim için aşağıdakilerin kombinasyonu ile çalışıyor gibi görünüyordu:
:set wrap linebreak nolist
(bu, mevcut çizgilerin kırılmasını önlüyor gibi görünüyor, sadece sarın.)
VE
set formatoptions=l
(bu, yeni / düzenlenmiş satırların kesilmesini önler, ancak + = benim için yapmaz, çünkü diğer ayarlar / eklentiler alan bulur ve benimkini geçersiz kılan kendi seçeneklerini ekler.)
Benim gibi, Windows'ta gVim çalıştırıyorsanız, .vimrc dosyanız metin dosyaları için otomatik olarak ayarlanan textwidth(benim durumumda 78) başka bir 'örnek' Vimscript dosyası kaynaklıyor olabilir .
Buna benzer bir soruya cevabım - Sütun 80'de gVim sarma metninin durdurulması - Vi ve Vim Stack Exchange sitesinde :
Benim durumumda, Vitor'nin yorumu aşağıdakileri çalıştırmamı önerdi:
:verbose set tw?Bunu yapmak bana şu çıktıyı verdi:
textwidth=78 Last set from C:\Program Files (x86)\Vim\vim74\vimrc_example.vimIn vimrc_example.vim ben ilgili satırları bulundu:
" Only do this part when compiled with support for autocommands. if has("autocmd") ... " For all text files set 'textwidth' to 78 characters. autocmd FileType text setlocal textwidth=78 ...Ve buldum .vimrc bu dosyayı kaynak:
source $VIMRUNTIME/vimrc_example.vimBenim durumumda,
textwidthherhangi bir dosya için ayarlanmak istemiyorum , bu yüzden sadece vimrc_example.vim içinde ilgili satırı yorum yaptım .
autocmd FileType text setlocal textwidth=0ve önerilen diğer çözümler olmadığında sorunu düzelttim.
Set nowrap'ın vi / vim satırları eklemeden uzun bir satıra yapıştırmanıza izin vereceği doğrudur , ancak daha sonra kolay okuma için satır görsel olarak sarılmaz . Bunun yerine, kaydırmanız gereken tek bir uzun satırdır.
Satırın görsel olarak sarılması ancak içine yeni satır karakterleri eklenmemiş olması için, sarmayı ayarlamanız (muhtemelen varsayılan olarak ayarlanması gerekmez) ve textwidth = 0'ı ayarlamanız gerekir .
Bazı sistemlerde textwidth = 0 ayarı varsayılan değerdir . Bu durumda bulamazsanız, tüm vi / vim oturumları için kullanıcı varsayılanı olacak şekilde .exrc dosyanıza set textwidth = 0 değerini ekleyin.
:set nowrapzaman istediğiniz şeyin tam tersidir :(.