Come mostrare la linea verticale per avvolgere la linea in Vim?


Risposte:


15

Modifica: per Vim> = 7.3 vedi la risposta sotto .

Sfortunatamente vim non ha alcun meccanismo per visualizzare una linea verticale dopo una colonna come desideri (a differenza, ad esempio, di TextMate). Tuttavia, ci sono indicatori visivi alternativi che puoi usare per mostrare che una linea è troppo lunga.

Ecco cosa uso (puoi metterlo nel tuo .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

Quindi puoi utilizzare <Leader>Hper alternare le colonne oltre 80 evidenziate.


La rappresentazione dello script vim della chiave del leader. Vedi Mostra l'impostazione corrente della chiave di <leader>
Rod

@ Will, Learn Vimscript the Hard Way è una buona risorsa per conoscere la tana del coniglio di vim.
jazzabeanie

310

Novità di Vim 7.3:

'colorcolumn' è un elenco separato da virgole di colonne dello schermo evidenziate con ColorColumn. Utile per allineare il testo. Rende più lento il ridisegno dello schermo. La colonna dello schermo può essere un numero assoluto o un numero preceduto da "+" o "-", che viene aggiunto o sottratto da "larghezza del testo".

Esempio dai documenti:

:set colorcolumn=+1        " highlight column after 'textwidth'
:set colorcolumn=+1,+2,+3  " highlight three columns after 'textwidth'
:highlight ColorColumn ctermbg=lightgrey guibg=lightgrey

Puoi anche usare numeri assoluti:

:set colorcolumn=80

4
Penso che sia bene notare qui il colore è determinato automaticamente dal colore di evidenziazione a meno che non lo imposti manualmente come nell'esempio.
Alex Hart

Nota che l' highlightimpostazione deve essere impostata dopo qualsiasi colorschemecomando in quanto ciò sovrascriverebbe il colore di evidenziazione.
c4urself

7
Sono andato con un rosso brillante, brucia-cervello ... perché sai ... lunghezza della linea
Ron Dahlgren

Conosci un modo per avere due colori diversi per la colonna colorata? Vorrei averne due: uno semplice a 80 caratteri per il codice e uno molto debole a 72 caratteri per testo / commenti scorrevoli.
Alice

Sarebbe bene menzionare che textwidthfa anche in modo che vim si avvolga durante la digitazione.
pulcini


6

Uso match ErrorMsg '\%>80v.\+'che evidenzierà qualsiasi cosa con più di 80 caratteri in rosso.

Ho inserito quel comando nel mio python.vim e ruby.vim sotto ~ / .vim / dopo / ftplugin /.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.