![Vim が .vimrc を手動でソースした後にのみハイライト設定をアクティブにするのはなぜですか?](https://rvso.com/image/31675/Vim%20%E3%81%8C%20.vimrc%20%E3%82%92%E6%89%8B%E5%8B%95%E3%81%A7%E3%82%BD%E3%83%BC%E3%82%B9%E3%81%97%E3%81%9F%E5%BE%8C%E3%81%AB%E3%81%AE%E3%81%BF%E3%83%8F%E3%82%A4%E3%83%A9%E3%82%A4%E3%83%88%E8%A8%AD%E5%AE%9A%E3%82%92%E3%82%A2%E3%82%AF%E3%83%86%E3%82%A3%E3%83%96%E3%81%AB%E3%81%99%E3%82%8B%E3%81%AE%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
私は掃除をしていたvimrc今日は、メンテナンスを容易にするために、別々のファイルに分割しました。これらの変更が完了すると、末尾の空白の強調表示を除いて、すべての構成、マッピング、プラグインが機能しているように見えます。
.vim/rc/appearance.vim に次の行があります:
highlight RedundantSpaces term=standout ctermbg=red guibg=red
match RedundantSpaces /\s\+$\| \+\ze\t/ "\ze sets end of match so only spaces highlighted
私の理解では、最初の行はハイライト グループ 'RedundantSpaces' を作成し、カラー端末の場合、ハイライト グループに一致するテキストの背景を赤にするように vim に指示します。2 行目は、ハイライト グループに一致するテキストを識別するために使用されるパターンを定義します。
vim でファイルを開き、空白行にスペースを入力し始めても、スペースは赤で強調表示されません。 を実行すると:source ~/.vimrc
、強調表示されます。
すべての個別のrc/*.vim
ファイルのソースとなる行を削除し.vimrc
、上記の 2RedundantSpaces
行を.vimrc
直接挿入すると、vim は期待どおりに動作し、末尾の空白が強調表示されます。
ただし、行を sourcing のままにしてrc/*.vim
、RedundantSpaces
行を my の末尾に配置すると.vimrc
(つまり、これらのコマンドが vim の呼び出し時に最後に実行される場合)、強調表示はまだ機能しないため、 を実行する必要がありますsource ~/.vimrc
。
ファイル内の何かがハイライト設定とうまく相互作用していないことは明らかですrc/*.vim
が、それが何なのか説明できません。これらのファイルのいずれにも、ハイライト設定と相互作用するものはありません。
ここで何が間違っているのか誰か示唆できますか?
答え1
この問題の原因は賢明なプラグイン:行 93。:help t_Co
" Allow color schemes to do bright colors without forcing bold.
if &t_Co == 8 && $TERM !~# '^linux'
set t_Co=16 " << --- Causes hickup
endif
vimを詳細ログモード( )で実行しvim -V15load_log.vim
、検索するt_Co=
と、実際に解析されているRedundantSpaces
ことがわかります。sensible
後あなたのappearance.vim
ファイル。
簡単な修正方法としては、コードのそのセクションをコメントアウトして に追加することです.vimrc
が、git リポジトリにリンクしているため、おそらくそれは望んでいることではありません。
別の方法としては、ディレクトリから移動して、別の行bundle
として追加する方法があります。source
vimrc
前にあなたのグロブループ。
つまり:
source ~/.vim/hacks/vim-sensible/plugin/sensible.vim
for f in split(glob ...
別の方法としては、BufLoad でカスタムハイライトをロードする方法があります。
などなど…
答え2
NeoBundleを使用している場合はNeoBundleLazy 'tpope/vim-sensible'
、NeoBundleSource
vimrcの最後に と記述すればうまくいきます。また、https://github.com/tpope/vim-sensible/issues/74。