如何在vim会话期间保持缓冲区的语法突出显示

时间:2014-04-10 07:05:30

标签: vim

当我打开文件时

 :e x

并更改其文件类型

 :set ft=plsql

我可以看到设置文件类型的效果,因为缓冲区中的关键字是根据我刚刚设置的文件类型(语法)突出显示的。

然后,我打开另一个文件

 :e y

并切换回我设置文件类型的文件

 :e #

虽然文件类型仍然有效,但关键字 - 突出显示会丢失。

 :set ft?

确认文件类型为plsql。

那么,我如何制作vim,以便在切换回文件时保持突出显示?

1 个答案:

答案 0 :(得分:4)

我假设你有set nohidden(或者更确切地说,没有set hidden)。这意味着,卸载任何未在某处显示的缓冲区。因此,:e y会让Vim完全忘记x。当您执行:e #时,您将无法返回x:您重新加载。由于它是一个全新的缓冲区,您的filetype当然不存在。

如果你确实有set hidden,那么打开y就不会卸载x,即使它没有显示在任何地方,:e #只会显示包含{{}的缓冲区1}}(已经设置了x)。这也有利于使Vim更加烦人,因为您可以加载其他文件而无需将当前更改写入磁盘(并且如果在未保存的更改时加载另一个文件,则无需从Vim不断纠缠,这是您真正想要的做)。

编辑:解释似乎是假的。修复仍然是filetype。去图。