Raf*_*fid 19 vim search findinfiles
在我的.vimrc文件中,我有两个非常有用的行:
set path=~/nbapp/**
set backupdir=~/nbapp/temp
Run Code Online (Sandbox Code Playgroud)
第一行允许我在我的项目目录和子目录中搜索.第二行使vim在一个特殊的临时文件夹中创建备份文件,而不是通过添加数十个具有完全相同名称的备份文件来打扰我,除了最后的"〜".但是,由于临时文件仍在'nbapp'文件夹中(并且我希望将它们保留在那里,因为它们与项目相关),这意味着当我进行搜索时它们也会被搜索,这有时会打扰我,因为我一直在查看搜索结果,但却发现它们实际上在临时文件夹中.
有没有办法从搜索中排除路径(即vimgrep)?我想排除'temp'文件夹.
此致,
拉菲德
hol*_*eek 22
使用'wildignore'选项:
:set wildignore+=**/temp/**
或者如果你想更具体:
:set wildignore+=~/nbapp/temp/**
这应该排除nbapp/temp目录中的所有文件:find result.
我使用grep命令而不是vimgrep
:help grep
Run Code Online (Sandbox Code Playgroud)
我用的是设置
set grepprg=grep\ -nIh\ --exclude=tags\ --exclude=cscope.out
Run Code Online (Sandbox Code Playgroud)
当我想搜索文件但排除标记文件和cscope文件时.你可以修改上面的内容,不要搜索任何以〜结尾的文件.我不认为你可以使用grep排除文件夹(或者你可以,尝试--exclude =〜/ nbapp/temp/*它可能工作我还没有测试过它).
如果这不起作用,我建议使用ack作为grepprg而不是grep.ack作为选项ignore-dir = name,您可以在其中明确忽略文件夹.
要从:find和gf(例如node_modules)中排除某些目录,您可以设置:
:set path=**
:set wildignore+=*/node_modules/*
Run Code Online (Sandbox Code Playgroud)
Wes*_*ice -1
set path-=~/nbapp/temp
Run Code Online (Sandbox Code Playgroud)
是删除路径条目的首选方法,因为它可以防止 vim 升级可能修改“path”的值。