gvim ColorColumnで色を変えられない(赤色で固定される)問題の解決法
解決策
結論から書きます。
例えば、文字色を白、背景色を黒としたいときは下記のような設定をvimrcに記述します。
highlight ColorColumn guifg=#ffffff guibg=#000000
設定値はHTMLカラーコードのようです。
以降、蛇足です。
解決に至った経緯
問題を認識
vimでの設定と同じようにして特定の行の文字色/背景色を設定するつもりでいたので下記のような設定をしていました。
(この投稿に検索エンジンから辿り着く人も、このような設定でうまくいかずに検索してきたのではないでしょうか。)
highlight ColorColumn ctermfg=0 ctermbg=0
結果は、どのような値を設定しても色が変わらず、背景色も赤色で固定されたままでした。
解決策の発見
なかなかそのものズバリな解決策が検索ではヒットしませんでした。
そんな中、RedditのQAから有力な情報を得ました。質問のタイトルは、"ColorColumn staying in one color (red)"です。
リンク先URLを書けずすみません。書いたところエラーメッセージが表示されて記事投稿ができなかったので割愛させていただきました("リンク先に投稿禁止の内容が含まれています"というメッセージがでました)。
質問タイトル的には今読んでいただいているこの投稿タイトルとほぼ同じでした。
ただし、私の場合の解決策とはなりませんでした。
人によっては、私の投稿のやり方ではなく、その質問に投稿された解決策を実行することで解決するかもしれません。
それはともかく、結局役に立ったのはこの質問への解答にあったverbose
というコマンドでした。
具体的には下記のコマンドです。
:verbose highlight ColorColumn
このコマンドの出力から、ColorColumnに実際にどんな設定キーと設定値が割り当てられているのかを知ることができました。
設定キーの内でもguifg/guibgというキーが気になりました。
vimで出来てgvimで出来ないことが問題だったので、gui関連の設定が問題と言うのはありそうなことでした。
そこでこのキーの値を変えてみたところ解決となりました。
gvimの場合の設定なので、gvimrcに記述する方が良いのかもしれません。
あとがき
verbose
コマンドは今後もお世話になりそうです。
やはり、調査・デバッグ関連のコマンドは設定トラブルシューティングにおいて真っ先に知っておきたいものの一種かもしれません。
検索で見つかる情報には限界がありますから。
以上、いつも通りの作業ログ兼忘備録でした。