对于一些特定的文件,我需要一组Map,我不想在我的~/.vimrc文件中激活它们。所以我在一个文件XXX.vim中定义了它们。我如何在模式行上加载XXX.vim,以及它应该放在我的.vim目录中的什么位置?
~/.vimrc
XXX.vim
.vim
s3fp2yjn1#
你不能在一个模型线中获得一个脚本,你所能做的就是设置一些选项。要使某些选项/Map/命令对某些文件可用,而对其他文件不可用,规范的方法是使用:help autocommand,如下所示:
: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中有以下任一行:
foo
foo/bar/
foo/bar/*
ruby
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
1条答案
按热度按时间s3fp2yjn1#
你不能在一个模型线中获得一个脚本,你所能做的就是设置一些选项。
要使某些选项/Map/命令对某些文件可用,而对其他文件不可用,规范的方法是使用
:help autocommand
,如下所示:您可以对扩展名为
foo
的所有文件使用上面的模式,或者对扩展名为foo/bar/
的所有文件使用类似foo/bar/*
的模式,等等。如果您希望这些Map只用于特定的 filetype,比如
ruby
,那么最好使用内置的ftplugin机制:1.请确保您的
vimrc
中有以下任一行:1.如果该文件不存在,请创建该文件(以及必要的目录):
1.将缓冲区-本地Map添加到该文件: