我正在用vim编辑一个文件。我开始另一个vim编辑同一个文件,它说/tmp/file.swp退出,按“R”恢复它。我选择了恢复。但在那之后,语法高亮不能对该文件起作用(其他文件仍然可以)。我试过:语法和一些命令但没有用。
答案 0 :(得分:6)
您可以尝试使用以下命令指定类型类型。例如对于c file:
:set filetype=c
答案 1 :(得分:2)
我只是简单地解决它。
我找到了〜/ .vim / view /的文件夹,并删除了我刚恢复的py文件的记录......
cd ~/.vim/view && ls -alh | grep filename_1 | awk '{print $9}' | xargs rm
您可以根据需要更改...只是演示。
:)
答案 2 :(得分:1)
突然崩溃后我不得不恢复vim缓冲区。虽然文件已正确恢复,但我不能对语法高亮显示相同。 (我很确定这不依赖于语言,但为了完整起见,我的文件是一个python脚本。)
据我所知,此问题通常是由会话,stated in this similar question或语法突出显示错误加载引起的。但是vim views也会影响文件在编辑器中的显示方式。对于那些倾向于automatise the loading of previously stored views的人来说尤其如此。在此预感之后我删除了我存储的视图文件并解决了问题。
请注意这个解决方案显然是有代价的:文件将以新视图打开,即没有先前的布局(光标位置,打开/关闭的窗口等)将被记住VIM。这很明显,但我想我还是会提到它。
答案 3 :(得分:0)
可能需要为正确的语法设置文件类型:
" C syntax:
:set ft=c
" Java syntax:
:set ft=java
" Python syntax:
:set ft=py
" ... etc.
答案 4 :(得分:0)
您可以通过键入编辑当前文件的:e %
来重新运行缓冲区打开进程以再次运行所有自动命令。这将使所有bufread * auto命令运行,您将获得所有内容。我相信它们是故意禁用的,以防恢复文件中出现问题,而自定义自动命令可能会对文件损坏做坏事。