仅适用于 .vimrc 的 Vim 映射

仅适用于 .vimrc 的 Vim 映射

我知道

autocmd FileType <TYPE> inoremap <MAPPING> 

对于像 *.html 这样的文件。但我想在我的文件中创建一些键绑定,.vimrc如下所示:

autocmd FileType vimrc inoremap ;; autocmd<Space>FileType ...

这显然只能在 vimrc 文件中起作用,因为在其他地方没有意义。vimrc但是使用 as FileType 不起作用。有什么建议吗?


编辑:

我也尝试过

au Bufread,BufNewFile *.vimrc setfiletype vimrc

au Bufread,BufNewFile .vimrc setfiletype vimrc

对于我使用的某些自定义文件类型,它工作得很好,但对于 .vimrc 则不行。我知道点文件与文件结尾不同,但值得一试。

答案1

你快到了。

首先,您需要知道,除非您正在创建新的文件类型(例如,作为 vim 文件类型的子类型),否则没有“vimrc”文件类型。 .vimrc文件是 Vim 脚本,应该已经自动被检测到。

这意味着你想在问题的后半部分使用 autocmd 触发器之一,但在前半部分使用命令。你可能还想使映射成为缓冲区本地的:

au Bufread,BufNewFile .vimrc inoremap <buffer> ;; autocmd<Space>FileType ...

看::help :map-<buffer>

相关内容