Vim如何在autocmd中定义JavaScript个文件

How does Vim define JavaScript files in autocmd

为了制作我自己的代码段,Vim 不能使用 js 作为类型来创建我的代码段。

autocmd FileType js inoremap ,f ()...

如何定义 Vim 文件类型?

如评论中链接的文章所示,您可以在 vimrc 中使用 autocmd 来执行此操作。但是,我发现利用 vim 的运行时路径结构来设置特定于文件类型的设置会更简洁。

TL;DR

将您的文件类型特定命令(例如 inoremap ,f ()... 放入 ~/.vim/after/ftplugin/javascript.vim 中。如果这些目录中的任何一个不存在,请创建它们。您可以对其他语言做类似的事情(例如,将 html 绑定放入 ~/.vim/after/ftplugin/html.vim 等)。

说明

vim 运行时路径就是 vim 在启动时查找配置文件和相关内容的地方(就像它读取 ~/.vimrc 的方式一样)。首先它会从 /etc 读取一些系统范围的东西,然后它会读取 ~/.vim 的内容。 after 目录,顾名思义,会在其他设置之后读取,虽然可能没有必要将这种东西放在 after 中,但它不会伤害(它确保它不会被系统范围的配置覆盖)。在 after 中是 ftplugin 目录,这是特定于文件类型的配置所在的位置。您也可以将 ftplugin 目录直接放在 ~/.vim 中,它会做同样的事情(除了它会被更早地读取。您放在这个目录中的文件的工作方式类似于 autocmd 的工作方式. 我只是更喜欢这样做,因为我发现它比我的 vimrc 中有一堆自动命令更整洁。有关 vim 运行时路径以及如何使用它的更多详细信息,查看 this video。整件事与运行时路径无关,但其中确实有很好的解释。

当然,如果您愿意,您仍然可以使用 autocmd(我认为您唯一的问题是您的 autocmd 必须说 Filetype javascript 而不是 Filetype js)。