Vim'de çizgiyi sarmak için dikey çizgi nasıl gösterilir?


Yanıtlar:


15

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>H80'den fazla vurgulanan sütunları değiştirmek için kullanabilirsiniz .


Lider anahtarın vim betik temsili. Bkz. Geçerli <lider> anahtar ayarını göster
Çubuk

@Will, Learn Vimscript the Hard Way , vim tavşan deliği hakkında bilgi edinmek için iyi bir kaynaktır.
jazzabeanie

310

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

4
Örnekte olduğu gibi manuel olarak ayarlamadığınız sürece, rengin vurgu renginiz tarafından otomatik olarak belirlendiğini belirtmek iyi olur.
Alex Hart

Vurgu renginizi geçersiz kılacak highlightşekilde ayarın tüm komutlardan sonra yapılması gerektiğini unutmayın colorscheme.
c4urself

7
Parlak, beynini yakan kırmızıyla gittim ... çünkü biliyorsun ... satır uzunluğu
Ron Dahlgren

Renk sütunu için iki farklı renge sahip olmanın bir yolunu biliyor musunuz? İki tane istiyorum: kod için 80 karakterlik sade bir tane ve akan metin / yorumlar için 72 karakterlik çok zayıf olan.
Alice

textwidthYazarken vim'in kaydırılmasına da neden olduğunu belirtmek iyi olur.
civcivler


6

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.


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.