2009-12-17 9 views
94

Ich bin daran interessiert, eine Möglichkeit zu finden, eine vertikale Linie in Spalte 80 in Vim (nicht GVim) zu zeigen.Wie wird eine vertikale Linie angezeigt, um die Linie in Vim zu umbrechen?

Ich habe set wrap verwendet, aber ich möchte nur eine vertikale Linie zeigen, damit ich die lange Linie selbst wickeln kann.

+0

Mögliche Duplikat [Vim 80-Spalten-Layout betrifft] (http://stackoverflow.com/Fragen/235439/vim-80-Spalten-Layout-Bedenken) –

Antwort

12

Edit: Für Vim> = 7.3 siehe Antwort below.

Leider hat Vim keinen Mechanismus, um eine vertikale Linie nach einer Spalte anzuzeigen, wie Sie möchten (anders als beispielsweise TextMate). Es gibt jedoch alternative visuelle Indikatoren, mit denen Sie anzeigen können, dass eine Linie zu lang ist.

Hier ist, was ich verwenden (Sie kann dies in setzen Sie Ihre .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 

So können Sie <Leader>H verwenden Spalten über 80 hin- und herzuschalten hervorgehoben werden.

+0

Was ist ? – Will

+0

Die vim-Skriptdarstellung des Führungsschlüssels. Siehe [Zeige aktuelle Schlüsseleinstellung] (http://stackoverflow.com/questions/10389205/show-current-leader-key-setting) – Rod

+0

@Will, [Lernen Vimscript auf dem harten Weg] (http: //learnvimscriptthardway.stevelosch .com /) ist eine gute Quelle, um über das vim Kaninchenloch zu lernen. – jazzabeanie

3

Mehrere Antworten hier http://vim.wikia.com/wiki/Highlight_long_lines einfacher automatischer Befehl

:au BufWinEnter * let w:m1=matchadd('Search', '\%<81v.\%>77v', -1) 
:au BufWinEnter * let w:m2=matchadd('ErrorMsg', '\%>80v.\+', -1) 
+0

Ich mag das sehr! –

11

Es gibt eine andere Art und Weise über die lange Schlange zu informieren.

Highlight Overlength ctermbg = red ctermfg = weiß guibg = # 592929
Spiel Overlength /\%81v.*/

Vim 80 column layout concerns

5

ich match ErrorMsg '\%>80v.\+' verwenden, die etwas mehr als 80 Zeichen Highlight wird mit rot.

Ich habe diesen Befehl in meine python.vim und ruby.vim unter ~/.vim/nach/ftplugin /.

265

Neu in Vim 7.3:

'colorcolumn' ist eine durch Kommata getrennte Liste von Bildschirmspalten, die mit ColorColumn hervorgehoben. Nützlich zum Ausrichten von Text. Will machen Bildschirm neu zeichnen langsamer. Die Bildschirmspalte kann eine absolute Zahl sein, oder eine Zahl mit vorangestelltem "+" oder "-", die zu 'textwidth' addiert oder von dieser subtrahiert wird.

Beispiel aus der Dokumentation:

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

Sie können auch absolute Zahlen verwenden:

:set colorcolumn=80 
+3

Ich denke, es ist gut, hier zu notieren, die Farbe wird automatisch durch Ihre Hervorhebungsfarbe bestimmt, es sei denn, Sie stellen es wie im Beispiel manuell ein. –

+0

Beachten Sie, dass die Einstellung "Hervorheben" nach allen Farbschemata festgelegt werden muss, da dies die Hervorhebungsfarbe überschreiben würde. – c4urself

+5

Ich ging mit hell, brennen-dein-Gehirn-rot ... weil Sie wissen ... Zeilenlänge –

Verwandte Themen