この記事は Vim Advent Calendar 2018 その2 7日目の記事です。
Vim の :terminal
Vim に :terminal
機能が入り、Vim 上からシェルを実行したり、fzf.vim のようにプラグインから :terminal
を活用出来るようになりました。
この :terminal
ですが、実は Vim 8.0.1685 で色設定が出来るようになりました。
patch 8.0.1685: can't set ANSI colors of a terminal window · vim/vim@f59c6e8
:terminal
の色設定の方法
patch 8.0.1685 では以下の関数とオプションが導入されており、GUI の場合か termguicolors
が有効な場合、 :terminal
を設定した色で表示することが出来ます。
term_getansicolors({buf})
term_setansicolors({buf}, {colors})
g:terminal_ansi_colors
色設定は g:terminal_ansi_colors
に16色の ANSI カラーを設定します。
(コメント部分の色説明は、iTerm 2 を参考にしています)
let g:terminal_ansi_colors = [
\ '#073642', " black
\ '#dc322f', " Red
\ '#859900', " green
\ '#b58900', " yellow
\ '#268bd2', " blue
\ '#d33682', " magenta
\ '#2aa198', " cyan
\ '#eee8d5', " white
\ '#002b36', " black (bright)
\ '#cb4b16', " red (bright)
\ '#586e75', " green (bright)
\ '#657b83', " yellow (bright)
\ '#839496', " blue (bright)
\ '#6c71c4', " magenta (bright)
\ '#93a1a1', " cyan (bright)
\ '#fdf6e3', " white (bright)
\ ]
デモ
色表示には http://yonchu.hatenablog.com/entry/2012/10/20/044603 に記載の color16.sh
を利用させていただきました。