5

我正在用 vim 编辑一个文件。我启动另一个vim来编辑同一个文件,它说/tmp/file.swp退出,按“R”恢复它。我选择了康复。但在那之后,语法高亮对该文件不起作用(其他文件仍然可以)。我尝试了 :syntax on 和一些命令,但没有奏效。

4

5 回答 5

8

您可以尝试使用以下命令来指定类型类型。例如对于 c 文件:

:set filetype=c
于 2012-05-01T15:30:09.947 回答
2

我只是以一种简单的方式解决它。

我找到 ~/.vim/view/ 的文件夹并删除有关我刚刚恢复的 py 文件的记录...

cd ~/.vim/view && ls -alh | grep filename_1 | awk '{print $9}' | xargs rm

你可以随心所欲地改变它......只是一个演示。

:)

于 2016-04-24T07:57:42.167 回答
1

突然崩溃后,我不得不恢复 vim 缓冲区。虽然文件已正确恢复,但我不能对语法高亮说同样的话。(我很确定这与语言无关,但为了完整起见,我的文件是一个 python 脚本。)

据我所知,此问题通常是由于会话(如此类似问题中所述)或错误加载的语法突出显示所致。但是vim 视图也会影响文件在编辑器中的显示方式。对于像我这样倾向于自动加载先前存储的视图的人来说尤其如此。根据这种预感,我删除了存储的视图文件并解决了问题。

请注意,这个解决方案显然是有代价的:文件将以全新的视图打开,即 vim 不会记住以前的布局(光标位置、打开/关闭的文件夹等)。这很明显,但我想我还是会提到它。

于 2014-09-17T09:28:43.447 回答
0

可能需要为正确的语法设置文件类型:

" C syntax:
:set ft=c

" Java syntax:
:set ft=java

" Python syntax:
:set ft=py

" ... etc.
于 2012-05-01T15:30:08.880 回答
0

:e %您可以通过键入which 编辑当前文件来重新运行缓冲区打开进程以再次运行所有自动命令。这将使所有 bufread* 自动命令运行,您将恢复所有内容。我相信它们是故意禁用的,以防恢复的文件中有问题,并且自定义自动命令可能会对损坏的文件造成不良影响。

于 2012-05-02T12:11:12.067 回答