8

私はvimを使用していくつかのPythonファイルを編集していますが、最近、vim内にバッファーを保存すると、構文の強調表示が消えることが散発的に発生します。リセットしようとしましsyntax onset filetype=pythonが、役に立ちませんでした。この問題の原因がまったくわからないので、現時点では最小限の診断情報しかありません。しかし、誰かが以前にこれに遭遇したことがありますか、またはどこで物事が崩壊する可能性がありますか?

4

4 に答える 4

5

これは解決策ではありませんが、コメントに書き込んだり読んだりするのは難しいです。

自分で修正を始めたとき、構文やハイライトをいじってい.vimrcたので、気づきました。
syntax on/syntax enableはファイルの読み込みの準備をしているだけです(に多くを追加しますauBufNewFile / 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
于 2013-02-09T07:39:16.347 に答える
2

しばらくすると、ファイルの保存に関連する不思議な力ではなく、折り畳みが原因で厄介なハイライトが発生することに気付きました。簡単な修正*は、vimrcに次のように配置することです。

noremap <F9> <Esc>:syntax sync fromstart<CR>
inoremap <F9> <C-o>:syntax sync fromstart<CR>

何か厄介なことが起こったときはいつでもF9を押してください。

  • ここから発見された解決策
于 2013-03-01T18:13:35.213 に答える
2

次の方法でバッファをリロードして構文を復元することもできます。

:e
于 2015-09-02T05:30:24.370 に答える
0

あなたは最初にファイルを保存することができます

:w

その後、バッファを更新します

:e
于 2020-11-25T08:22:58.037 に答える