怎样根据不同的语言调用不同的vim配置文件

 我来答
hqxz556
推荐于2017-11-27 · TA获得超过2831个赞
知道大有可为答主
回答量:1686
采纳率:93%
帮助的人:588万
展开全部

如果 vim 能够识别某种语言的类型,那么就会加载和该类型有关的语言配置。如键映射、语法高亮等。

如果你想自己增加一些需要的配置文件,那么在 ~/.vim/ 下(windows 系统则是我的文档下的 vimfiles 文件夹下)增加配置文件即可(如果没有这个文件夹,自己创建就好,但名字一定不要搞错)。

这个文件夹下,还有如下子文件夹(依然没有就创建):

after/
autoload/
colors/
compiler/
doc/
ftdetect/
ftplugin/
indent/
keymap/
plugin/
syntax/

其中 ftplugin 用于你自己定义类型文件的扩展插件,ftdetcet 用来定义类型文件自动识别,indent 用于定义类型文件的自动缩进,syntax 用于定义类型文件的语法高亮。

如果你要定义 c 语言的特殊配置,文件名就要叫 c.vim。如果是 python,文件名就是 python.vim。

换言之,你想定义一组 c 言语键映射,就写一个叫 c.vim 的脚本(这需要不少技巧,需要学习一些编写 vim 脚本的知识),然后放到 ftplugin 里去。如果是想定义c语言的语法高亮,就写一个 c.vim 的语法高亮脚本,放到 syntax 里面。

由于 vim 已经自带了很多这样的脚本,(在 vim 的安装目录下,目录的组织形式和你自定义的一样),所以通常不需要自己配置太多。如果自己有需要,可以简单的加一些。



如果你的问题是指,某个语言文件没有被正确识别,那么可以了解下 vim 自动识别的过程:

首先 vim 根据文件的扩展名来判断文件的内容,比如 .c 就会认为是 C 语言文件。.py 就会认为是 python。.txt 就会认为是普通文本。

如果没有扩展名的文件,vim 也会通过文件内容来做简单的识别。这一般是扫描文件的开头数行(有些语言只扫描前5行,也有些会扫描几百行),看是否出现某种语言的特征。一但出现,便识别成相应的语言。但这发生在加载一个文件的时候。如果你是新建了一个没有扩展名的文件,那么之后再往里输入内容,vim 就不会再去识别了。


如果一个文件没有被识别,或识别错误。你也可以手动指定:

:setf c

来把之设置成你需要的语言。c 那里写实际语言的名字。如果你发现之后文件的内容正确的显示了语法高亮,那么就说明这个设置已经成功了。

微测检测5.10
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇... 点击进入详情页
本回答由微测检测5.10提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式