发布网友 发布时间:2022-04-23 03:26
共1个回答
热心网友 时间:2022-04-10 02:14
如果 vim 能够识别某种语言的类型,那么就会加载和该类型有关的语言配置。如键映射、语法高亮等。
如果你想自己增加一些需要的配置文件,那么在 ~/.vim/ 下(windows 系统则是我的文档下的 vimfiles 文件夹下)增加配置文件即可(如果没有这个文件夹,自己创建就好,但名字一定不要搞错)。
这个文件夹下,还有如下子文件夹(依然没有就创建):
after/其中 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 那里写实际语言的名字。如果你发现之后文件的内容正确的显示了语法高亮,那么就说明这个设置已经成功了。