1. ホーム
  2. vim

[解決済み] Vimで行を折り返すために縦線を表示するには?

2022-07-05 06:13:21

質問

Vim (GVimではない) で80列目に縦線を表示する方法を見つけたいと思っています。

私は set wrap を使っていますが、縦線を表示したいだけなので、長い行を自分で折り返すことができます。

どのように解決するのですか?

編集:Vim >=7.3については、回答を参照してください。 以下の .

残念ながらvimには、(TextMateなどとは異なり)あなたが望むような列の後に縦線を表示する機構はありません。しかし、行が長すぎることを示すために使用できる別の視覚的なインジケータがあります。

以下は私が使っているものです (これをあなたの .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

ということで、次に <Leader>H を使って、ハイライトされている80以上の列をトグルすることができます。