Vim/Neovim で80文字目に縦線を表示する (colorcolumn)

指定した位置に縦線を表示

Vim/Neovim で colorcolumn オプションを設定すると、指定したカラム位置の背景色が変化します。 結果的にその位置に縦線を入れたように見せることができます。 例えば、80文字目の背景色を灰色にするには、以下のように colorcolumn を設定します。

80カラム目に縦線を表示する
:set colorcolumn=80

colorcolumn は上記のように絶対位置で指定することもできるし、textwidth が設定されている場合は、その値からの相対位置(+N-N という形)で指定することもできます。 例えば、下記のようにすると、textwidth から +1 の位置、つまり 80 文字目の背景色が変わることになります。

textwidth+1 の位置に縦線を表示
:set textwidth=79
:set colorcolumn=+1

ここでは colorcolumn に一つの値だけを設定していますが、カンマで区切って複数のカラムを指定することができます。 カンマの前後にスペースは入れてはいけません。

textwidth+1 の位置、80カラム目、100カラム目に縦線を表示
:set colorcolumn=+1,80,100

縦線の色を変えたいときは、highlight コマンドで ColorColumn ハイライト・グループの設定を変更します。

縦線の色を変更する
:highlight ColorColumn guibg=#202020 ctermbg=lightgray

設定例

Vim (.vimrc) / Neovim (init.vim) の場合
" 指定したカラム位置に縦線を表示
set colorcolumn=80,100
highlight ColorColumn guibg=#333300 ctermbg=lightgray
Neovim (init.lua) の場合
-- 指定したカラム位置に縦線を表示
vim.opt.colorcolumn = "80,100"
vim.api.nvim_set_hl(0, "ColorColumn", { bg = "#333300", ctermbg = "lightgray" })