私はvimを使用していくつかのPythonファイルを編集していますが、最近、vim内にバッファーを保存すると、構文の強調表示が消えることが散発的に発生します。リセットしようとしましsyntax on
たset filetype=python
が、役に立ちませんでした。この問題の原因がまったくわからないので、現時点では最小限の診断情報しかありません。しかし、誰かが以前にこれに遭遇したことがありますか、またはどこで物事が崩壊する可能性がありますか?
4 に答える
これは解決策ではありませんが、コメントに書き込んだり読んだりするのは難しいです。
自分で修正を始めたとき、構文やハイライトをいじってい.vimrc
たので、気づきました。
syntax on
/syntax enable
はファイルの読み込みの準備をしているだけです(に多くを追加しますau
)BufNewFile / BufRead
。したがって、ファイルの書き込み時に一部のプラグインが構文/ハイライト設定をいじっている場合、すべての「魔法」を実行するにはファイルを再度ロードする必要があります。設定だけでは不十分ですfiletype
。:au BufRead
実行すると、構文を開始するときに追加されたすべての自動コマンドが表示されます。ただし、すべての設定を取得するには、ファイルをロードする必要があります。
これを参照してください:>syntax-loading
ファイルをリロードしたくない場合は、試してみてください。syntax enable
これはとは異なると思いますsyntax on
。
または、やってみて:doautocmd filetypedetect BufRead %
ください。>を参照してください。autocmd-execute
何が問題を引き起こしているのかわかりませんが、あなたでしょうか?いくつかの自動コマンドを追加した場合、または独自の色/構文を実行した場合はどうなりますか?
そうでなければ、あなたが解決策を得るまで、あなたはおそらくautocmd BufWritePost * <with the commands above that works>
あなたの最後に追加しようとすることができます、その場合.vimrc
に使用augroup
してください。
次に例を示します。
augroup myResetSyntax
au!
autocmd BufWritePost * syntax enable | doautocmd filetypedetect BufRead "%"
augroup END
しばらくすると、ファイルの保存に関連する不思議な力ではなく、折り畳みが原因で厄介なハイライトが発生することに気付きました。簡単な修正*は、vimrcに次のように配置することです。
noremap <F9> <Esc>:syntax sync fromstart<CR>
inoremap <F9> <C-o>:syntax sync fromstart<CR>
何か厄介なことが起こったときはいつでもF9を押してください。
- ここから発見された解決策
次の方法でバッファをリロードして構文を復元することもできます。
:e
あなたは最初にファイルを保存することができます
:w
その後、バッファを更新します
:e