News-0.10 になって変わってしまった colorschemeを以前のように戻す方法。
termguicolors
0.10からターミナルで立ち上げるCUI上のNeovimでも
24-bitのtrue colorが有効な環境では
termguicolorsが有効になり
guifgなどで設定したGUI用の色が使われるようになりました。
これを戻すには.config/nvim/init.vimに
1
| |
を設定しておきます。
ほとんどの場合、GUI用の設定はCUI用の設定にプラスアルファで より繊細な色設定がされている状態で、 またGUI用の方をメインとして作られていることも多いので これに関しては無理に戻す必要はないかもしれません。
ただし、場合によってはNeovimが本来true colorをサポートしていない状態なのに
勘違いして(実際には何らかの設定がTrue colorを示す状態になってしまっていて)termguicolorsが有効になっていることがあるので
その場合はnotermguicolorsを設定する必要があります。
GUI用の設定と共有してset termguicolorsを明に設定するのを避けたい場合は
その原因を探ってNeovimがtermguicolorsを設定しないようにする必要があります。
colorscheme vim
Neovim 0.10からdefaultのcolorschemeが変更されました。
以前の同じcolorschemeにするには
1
| |
と、vimというcolorschemeを指定します。
また、いろいろな設定を一旦リセットしてからcolorschmeを設定するために
1 2 3 4 | |
のように一旦リセットしてからhighlightを設定していることもあるかと思います。
0.10からは以前と同じようにするには
1 2 3 4 5 | |
のようにclearした後にvimなcolorschemeを設定する必要があります。
ただし、別途colorschemeを導入している場合にはちょっと面倒です。
colorschmeファイルの中でも、ほとんどの場合colorschmeファイルの先頭で
1 2 3 4 | |
みたいな感じでcolorschemeをリセットしています。
なのでcolorschmeを設定する前にcolorschme vimを設定しても意味ないですし、
後からしても設定したcolorschemeが上書きされてしまいます。
なのでcolorschme自体をアップデートする必要があります。
1 2 3 4 5 6 7 | |
こんな感じでNeovim 0.10で導入されたruntimeの中にあるcolors/vim.luaファイルを読み込む必要があります。
自分の環境ではもともと.vimrcに書いていた設定をプラグイン化したものを使っているので、 そのプラグインをアップデートすることで対応しました。
colorschemeプラグインは頻繁に変更されるものでもないので よく使われているものでも長いこと更新されていないものも多く、 Neovimへの対応ということもありなかなか対応されないものもあるかもしれません。
その場合は他のcolorschemeを使うか、 自分でforkして上の様な対応して使うかなどする必要があります。