Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

Vimの挿入モードで背景色を変える

$
0
0

結論

以下のコードを.vimrcに追記する。

.vimrc
augroup InsertHook
    autocmd!
    autocmd InsertEnter * hi Normal ctermbg=235 "挿入モード時の色
    autocmd InsertLeave * hi Normal ctermbg=0 "通常モード時の色
augroup END 

ちょっとした解説

autocmdの指定で、InsertEnterは挿入モードになるとき、InsertLeaveは挿入モードから抜けるとき、それぞれ自動でhi(highlight)コマンドで色を変更する。*の部分では、すべてのファイルにマッチするようにしているため、*.cとすれば、cファイルにのみ適応なども可能。Normalは全体的に変わる模様。

ctermbgは色つきターミナルでの背景色。前景色(つまり文字色)はctermfgになる。GVimの場合はguibgguifgになる。背景色と文字色とを一緒に変更することも可能。

autocmdの詳細はautocmd - Vim日本語ドキュメントを参照。hi[ghlight]コマンドに関しては、syntax - Vim日本語ドキュメントで。

色指定に関しては、ANSI Color Specific RGB Sequence Bash - Stack Overflowを参考にした。サンプルでは、色つきターミナルでの256色指定を用いている。

他にしたこと

環境によっては、挿入モードを抜けた際に、すぐに切り替わらないので、以下も追記した。

.vimrc
if has('unix')&& !has('gui_running')
    inoremap <silent><ESC><ESC>endif

参考文献

vim/gvimの色設定について - fudist
autocmd - Vim日本語ドキュメント
syntax - Vim日本語ドキュメント
ANSI Color Specific RGB Sequence Bash - Stack Overflow
おさらい autocmd/augroup - Qiita (@s_of_pさん)


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>