Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果我打开第二个选项卡,Vim中的CSS高亮显示将中断_Css_Vim_Syntax Highlighting - Fatal编程技术网

如果我打开第二个选项卡,Vim中的CSS高亮显示将中断

如果我打开第二个选项卡,Vim中的CSS高亮显示将中断,css,vim,syntax-highlighting,Css,Vim,Syntax Highlighting,我一直在白手起家地重新写我的简历,我认为这是开始新一年的好方法,我把它作为一个网页来做。当然,我希望所有的HTML、CSS和Javascript都放在一个文件中,这样它就可以移植了 在Vim中工作时,我在单独的选项卡中打开了文档的CSS、HTML和Javascript部分。但是,只要我打开第二个选项卡,CSS的语法高亮显示就会关闭。HTML和Javascript将继续正确高亮显示 无论如何,我都不是Vim专家,所以如果这是一个太基本的问题,我很抱歉,但我找不到任何关于Stackoverflow的

我一直在白手起家地重新写我的简历,我认为这是开始新一年的好方法,我把它作为一个网页来做。当然,我希望所有的HTML、CSS和Javascript都放在一个文件中,这样它就可以移植了

在Vim中工作时,我在单独的选项卡中打开了文档的CSS、HTML和Javascript部分。但是,只要我打开第二个选项卡,CSS的语法高亮显示就会关闭。HTML和Javascript将继续正确高亮显示

无论如何,我都不是Vim专家,所以如果这是一个太基本的问题,我很抱歉,但我找不到任何关于Stackoverflow的文档或现有帖子来解决这个问题


提前感谢您提供的任何见解。

这些可能与提供答案相关

您使用的是什么版本的vim?我假设您使用的是Vim 7.3,如果不是的话,您应该-大多数linux Distor都有它,并且有一个用于Windows的exe和用于osx的MacVim。可能是您的安装旧了或损坏了

有插件吗?一个简单的检查就是暂时删除所有插件,重新启动vim,看看这是否仍然发生

你的vimrc有什么特别的吗?如果你自己定制的话,可能不会有太多的惊喜,但是如果你从别人那里借来的话,你可以用同样的方法处理plugins文件夹empty或bare-minimum文件

希望这有帮助-祝你好运

因为vim不会开始在文件顶部寻找高亮显示,而是在当前屏幕视图的几百行上,所以有时可以通过滚动一点来实现高亮显示

如果这样做有效,你可以调整语法突出显示控件,这样你就不必浪费时间四处滚动;有关完整详细信息,请参阅:帮助同步。有几种选择:

每次强制vim从文件的最开始就开始识别语法。这可能会导致大型文件出现严重的性能问题,但这也可能表明源代码可以更好地分离

:syntax sync fromstart
增加分析的行数。这减少了错误语法识别的机会,而不必每次从一开始就重新分析整个文件

:syntax sync minlines=200
选择一个足够大的数字,使其几乎可以一直工作,而不会造成显著的性能损失。这可能是最好的方法,在过去的十年里,在大多数计算机上,即使500行也应该可以

如果您正在编辑C风格的代码,vim可以使用C风格的注释轻松地重新同步。请注意,不是//新奇的品种,而是/*原始风格*/。可能不是HTML、CSS、JavaScript的最佳选择,但您的代码可能使其更可行:

:syntax sync ccomment
第四种方法使用同步模式,类似于C风格的注释,但更适用于其他环境。它有足够多的额外的复杂性,我不认为在这里描述它是值得的努力-:帮助同步同步第四有好奇的所有细节

这些配置选项中的任何一个都可以添加到~/.vimrc文件中:

您可以根据正在编辑的文件类型更改行为。在文件中添加行时,只需省去前导:即可。使用autocmd为以下类型定义它:

autocmd  BufNewFile,BufRead *.html syntax sync fromstart

注意,vim并没有开始在文件顶部寻找高亮显示,而是从当前的屏幕视图中寻找几百行。试着滚动一下,看看它是否会回来?很有趣。Vim中的任何东西都不会像您最初认为的那样工作,但我知道这种方法是有意义的。但是为什么打开第二个标签会有什么不同呢?好的,这是可行的。我调出了一些页面,这就解决了问题。我仍然想知道,如果有人有答案的话,为什么打开第二个标签会让Vim忘记代码是CSS。没有插件,我的vimrc非常基本。
autocmd  BufNewFile,BufRead *.html syntax sync fromstart