如何编写(自动)仅适用于特定文件夹的vimrc文件
假设我有一个项目,它位于一个名为“bin”的文件夹中,我希望在编辑项目文件夹中的任何文件时自动加载一些特定的vim配置。我该怎么做呢?我想你需要的是自动命令。也许是这样的:如何编写(自动)仅适用于特定文件夹的vimrc文件,vim,Vim,假设我有一个项目,它位于一个名为“bin”的文件夹中,我希望在编辑项目文件夹中的任何文件时自动加载一些特定的vim配置。我该怎么做呢?我想你需要的是自动命令。也许是这样的: autocmd BufRead,BufNewFile ~/bin/* call SetBinOptions() function SetBinOptions() { setlocal number setlocal nowrap ... } 如果需要对路径匹配执行一些复杂的操作,可以采用稍微不同的
autocmd BufRead,BufNewFile ~/bin/* call SetBinOptions()
function SetBinOptions() {
setlocal number
setlocal nowrap
...
}
如果需要对路径匹配执行一些复杂的操作,可以采用稍微不同的方法,决定是否在函数中应用选项。假设您有一些路径必须匹配的正则表达式:
autocmd BufRead,BufNewFile * call SetCustomOptions()
function SetCustomOptions() {
if (match(expand("%:p"), /regex/) {
setlocal number
setlocal nowrap
...
}
}
我在~/.exrc中使用“set exrc”,在目录中使用一个本地的.exrc。使用
set exrc
帮助了我。有关简单的案例,请参见好主意。可能会出现两个问题:如果您从目录外编辑目录中的文件,您会遇到麻烦;如果您有多个缓冲区/窗口/选项卡,并且其中只有一些在目标目录中,那么在此上下文中无法正确使用setlocal
。