如何在模式行上加载.vim文件

vm0i2vca  于 2022-11-11  发布在  其他
关注(0)|答案(1)|浏览(116)

对于一些特定的文件,我需要一组Map,我不想在我的~/.vimrc文件中激活它们。所以我在一个文件XXX.vim中定义了它们。我如何在模式行上加载XXX.vim,以及它应该放在我的.vim目录中的什么位置?

s3fp2yjn

s3fp2yjn1#

你不能在一个模型线中获得一个脚本,你所能做的就是设置一些选项。
要使某些选项/Map/命令对某些文件可用,而对其他文件不可用,规范的方法是使用:help autocommand,如下所示:

augroup mystuff
    autocmd!
    autocmd BufNewFile,BufRead *.foo nnoremap <buffer> <key> bar
augroup END

您可以对扩展名为foo的所有文件使用上面的模式,或者对扩展名为foo/bar/的所有文件使用类似foo/bar/*的模式,等等。
如果您希望这些Map只用于特定的 filetype,比如ruby,那么最好使用内置的ftplugin机制:
1.请确保您的vimrc中有以下任一行:

filetype plugin on
filetype plugin indent on
filetype indent plugin on

1.如果该文件不存在,请创建该文件(以及必要的目录):

" Unix-like system
~/.vim/after/ftplugin/ruby.vim

" Windows
%userprofile%\vimfiles\after\ftplugin\ruby.vim

1.将缓冲区-本地Map添加到该文件:

nnoremap <buffer> <key> something

相关问题