回答:
(g)vimには、次を使用します。
set colorcolumn=80
またはあなたが望む幅。vimとgvimの両方で動作します。私はIF内に私のものを持っているので、編集するファイルのタイプに基づいて条件付きです。
また、+ x / -xを使用して、&textwidthの+/-列の位置を基準にすることもできます。
set textwidth=80
set colorcolumn=-2
文字の位置78に色付きのバーを効果的に描画します。もちろん、テキスト幅を自分で設定してもしなくてもかまいません。したがって、0(デフォルト)になります。絶対位置形式を使用します。
必要に応じて、使用する色を変更することもできます。
highlight ColorColumn ctermbg=green guibg=orange
(ただし、これらの色はお勧めしません)
このオプションは(g)vim 7.3で追加されました。
Google Codeには次のスニペットがあります:
augroup vimrc_autocmds
au!
autocmd BufRead * highlight OverLength ctermbg=red ctermfg=white guibg=#592929
autocmd BufRead * match OverLength /\%81v.*/
augroup END
StackOverflowの回答ごとに:
highlight OverLength ctermbg=red ctermfg=white guibg=#592929
match OverLength /\%81v.*/
好みに合わせて調整してください。
私はlornixの答えが大好きですが、少なくとも1行が長さの制限を超えている場合にのみ、列を常に強調表示したくないです:
Haskellファイルに対してどのように行うかを以下に示します。
augroup HaskellCommands
autocmd!
" When a Haskell file is read or the text changes in normal or insert mode,
" draw a column marking the maximum line length if a line exceeds this length
autocmd BufRead,TextChanged,TextChangedI *.hs call ShowColumnIfLineTooLong(80)
augroup END
" Color the column marking the lengthLimit when the longest line in the file
" exceeds the lengthLimit
function! ShowColumnIfLineTooLong(lengthLimit)
" See /programming/2075276/longest-line-in-vim#2982789
let maxLineLength = max(map(getline(1,'$'), 'len(v:val)'))
if maxLineLength > a:lengthLimit
highlight ColorColumn ctermbg=red guibg=red
" Draw the vertical line at the first letter that exceeds the limit
execute "set colorcolumn=" . (a:lengthLimit + 1)
else
set colorcolumn=""
endif
endfunction