Yanıtlar:
Düzenleme: Vim> = 7.3 için aşağıdaki yanıta bakın .
Ne yazık ki, vim'in istediğiniz gibi bir sütundan sonra dikey bir çizgi gösterme mekanizması yoktur (örneğin TextMate'in aksine). Ancak, bir hattın çok uzun olduğunu göstermek için kullanabileceğiniz alternatif görsel göstergeler vardır.
İşte kullandığım şey (bunu senin içine koyabilirsin .vimrc
):
nnoremap <Leader>H :call<SID>LongLineHLToggle()<cr>
hi OverLength ctermbg=none cterm=none
match OverLength /\%>80v/
fun! s:LongLineHLToggle()
if !exists('w:longlinehl')
let w:longlinehl = matchadd('ErrorMsg', '.\%>80v', 0)
echo "Long lines highlighted"
else
call matchdelete(w:longlinehl)
unl w:longlinehl
echo "Long lines unhighlighted"
endif
endfunction
Böylece <Leader>H
80'den fazla vurgulanan sütunları değiştirmek için kullanabilirsiniz .
Vim 7.3'teki yenilikler:
'renk sütunu', ColorColumn ile vurgulanan virgülle ayrılmış ekran sütunlarının listesidir. Metni hizalamak için kullanışlıdır. Ekranın yeniden çizilmesini yavaşlatır. Ekran sütunu mutlak bir sayı veya 'metin genişliğine' eklenen veya çıkarılan '+' veya '-' ile başlayan bir sayı olabilir.
Dokümanlardan örnek:
:set colorcolumn=+1 " highlight column after 'textwidth'
:set colorcolumn=+1,+2,+3 " highlight three columns after 'textwidth'
:highlight ColorColumn ctermbg=lightgrey guibg=lightgrey
Mutlak sayıları da kullanabilirsiniz:
:set colorcolumn=80
highlight
şekilde ayarın tüm komutlardan sonra yapılması gerektiğini unutmayın colorscheme
.
textwidth
Yazarken vim'in kaydırılmasına da neden olduğunu belirtmek iyi olur.
Uzun hat hakkında bildirimde bulunmanın başka bir yolu var.
OverLength vurgulayın ctermbg = red ctermfg = white guibg = # 592929
match OverLength /\%81v.*/
match ErrorMsg '\%>80v.\+'
80'den fazla karakteri kırmızı ile vurgulayacak olanı kullanıyorum .
Bu komutu python.vim ve ruby.vim dosyama ~ / .vim / after / ftplugin / altına koydum.
Burada birkaç cevap http://vim.wikia.com/wiki/Highlight_long_lines simple autocommand
:au BufWinEnter * let w:m1=matchadd('Search', '\%<81v.\%>77v', -1)
:au BufWinEnter * let w:m2=matchadd('ErrorMsg', '\%>80v.\+', -1)