相关疑难解决方法(0)

在Vim中突出显示的类和函数名称

我最近刚刚从Textmate设置了我的Vim环境,后来沉迷于它的模态输入.

但是,在Vim中,语法高亮似乎并不那么美观.我用C++编写代码,因为函数调用和类名不能突出显示,所以代码更难以阅读.我玩了一些配色方案,但找不到任何对应"类名"或"功能名称"的字段.

在下图中,注意MacVim右侧的突出显示方式DroughtLayer::*.size()突出显示方式.

Textmate(左)和Vim(右)之间的图片比较http://ivzhao.com/temp/vimHL.png

任何想法如何解决这个问题?它真的让我烦恼,因为我是一个视觉敏感的家伙.

c++ vim textmate syntax-highlighting vim-syntax-highlighting

68
推荐指数
5
解决办法
5万
查看次数

vim没有扩展名的文件的默认语法

如何为vim中没有扩展名的文件设置默认语法?

vim

13
推荐指数
2
解决办法
3134
查看次数

在vim中检测文件类型而没有有效的文件扩展名

我正在寻找一种方法来确定vim中文件的文件类型,并根据文件类型设置语法高亮.唯一的问题是我无法使用文件扩展名来确定文件类型.

这是我的场景:我使用vimdiffgvimdiff作为我的P4DIFF工具,它显示本地副本中的文件与perforce服务器中的文件之间的更改.Perforce似乎将perforce服务器中的文件引入/ tmp目录并使用PID命名文件,例如:

/tmp/tmp.24673.23
Run Code Online (Sandbox Code Playgroud)

这是一个C++源文件.

我在perforce存储库中遇到的最常见的文件类型是C/C++源代码和头文件,Makefile,python脚本,perl脚本,ruby脚本和tcl脚本.

  • 我已经开始使用了modeline,但是我们树中的大多数源都没有嵌入文件中的这些信息.

  • 这篇文章提到了一种搜索和识别魔术模式的可能方法.我找不到任何一致的魔术模式,我可以获得很高的成功率.

  • 尝试使用file我的linux盒子上的二进制文件来查看我得到的结果.它似乎很好地识别了C/C++源代码,但是对于Makefile甚至python脚本(没有hashbang)都失败了

一个好处是,在比较的2个文件中,右边的文件来自我的本地副本,因此具有带扩展名的正确文件名,因此右侧的文件正确启用了语法突出显示.

有没有办法可以利用它为左侧显示的文件设置相同的语法高亮显示?

对此问题的任何替代解决方案也是受欢迎的.

vim file-type syntax-highlighting vim-syntax-highlighting

6
推荐指数
1
解决办法
1461
查看次数

使用vim检测C ++标准头文件的文件类型

C ++的标准标头通常安装在/usr/include/c++/4.x中(在Linux中)。由于大多数头文件没有任何扩展名(.h,.hpp等),因此vim无法将这些文件的格式识别为C ++。

我在SO中看到了另一个问题,但是在那里发布的解决方案无法解决我的问题。那里的一种解决方案涉及使用,modeline但是标准的C ++头文件不包含vim友好的签名。相反,它们在第一行中包含以下内容:

// <algorithm> -*- C++ -*-
Run Code Online (Sandbox Code Playgroud)

我想我可以搜索该模式(-*- C++ -*-)以检测文件类型。前面提到的SO问题中发布的另一个解决方案实际上就是朝这个方向发展的。答案建议使用:

au BufRead * if search('MagicPattern', 'nw') | setlocal ft=cpp | endif
Run Code Online (Sandbox Code Playgroud)

所以我尝试做:

au BufRead * if search('-*- C++ -*-', 'nw') | setlocal ft=cpp | endif
Run Code Online (Sandbox Code Playgroud)

但它不起作用(即未检测到文件类型)。

使用这种方法是否可以检测文件类型?是否存在任何插件或其他解决方案?

c++ linux vim file-type

5
推荐指数
1
解决办法
1819
查看次数

Vim:根据文件内容设置文件类型

如何在 Vim 中根据文件内容而不是扩展名设置 aa 文件的文件类型?

即使文件没有扩展名,Vim 似乎也有能力读取 shebang 并推断文件类型。如何定义要在文件中查找的任意标志并更改文件类型。例如,如果文件以 开头,/** @flow */则将文件类型设置为javascript.flow.

vim

2
推荐指数
1
解决办法
661
查看次数