Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何编写(自动)仅适用于特定文件夹的vimrc文件_Vim - Fatal编程技术网

如何编写(自动)仅适用于特定文件夹的vimrc文件

如何编写(自动)仅适用于特定文件夹的vimrc文件,vim,Vim,假设我有一个项目,它位于一个名为“bin”的文件夹中,我希望在编辑项目文件夹中的任何文件时自动加载一些特定的vim配置。我该怎么做呢?我想你需要的是自动命令。也许是这样的: autocmd BufRead,BufNewFile ~/bin/* call SetBinOptions() function SetBinOptions() { setlocal number setlocal nowrap ... } 如果需要对路径匹配执行一些复杂的操作,可以采用稍微不同的

假设我有一个项目,它位于一个名为“bin”的文件夹中,我希望在编辑项目文件夹中的任何文件时自动加载一些特定的vim配置。我该怎么做呢?

我想你需要的是自动命令。也许是这样的:

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