この記事は 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 を参考にしています)
letg: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
を利用させていただきました。