使用命令-T搜索

时间:2011-10-26 12:50:09

标签: search vim nerdtree vim-plugin

当我使用命令-T搜索某个文件时,通常很难找到它,因为我不在正确的目录中,所以我必须更改目录。

是否可以设置命令-T将首先搜索Nerdtree或其他地方的书签目录?

我可以将目录更改为/,但这会搜索非常大的文件范围。当我将dir更改为我的主目录并且我正在寻找像.bashrc那样普通的东西时,我会找到位于.wine目录下的相当多的文件。

99%的时间我需要搜索我积极使用的项目目录中的文件。我可以在某些首选项中设置这些目录吗?

2 个答案:

答案 0 :(得分:34)

根据文档,您可以从搜索中排除目录:

                                            *command-t-wildignore*
  |'wildignore'|                                 string (default: '')

   Vim's |'wildignore'| setting is used to determine which files should be
  excluded from listings. This is a comma-separated list of glob patterns.
  It defaults to the empty string, but common settings include "*.o,*.obj"
  (to exclude object files) or ".git,.svn" (to exclude SCM metadata
  directories). For example:

     :set wildignore+=*.o,*.obj,.git

   A pattern such as "vendor/rails/**" would exclude all files and
  subdirectories inside the "vendor/rails" directory (relative to
  directory Command-T starts in).    

因此,如果您想要排除备份目录,请写下:

set wildignore+=project/backup
你的.vimrc中的

此外,要忽略dotfiles / dotdirs,您可以查看以下选项:

g:CommandTNeverShowDotFiles
g:CommandTScanDotDirectories
g:CommandTMaxDepth

这些允许您:
  - 完全忽略dotfiles;
  - 停止在dotdirs中递归搜索;
  - 指定Command-T停止扫描的深度。

我在the author's git中找到了此信息,但您可以通过在vim中发布来查看此文档:

:help Command-T

(或类似名称)

我没有在插件中看到任何对首选项或书签的引用 但是,如果您通过在所述项目目录中打开文件来启动vim,则可能需要将此行添加到.vimrc中:

    set autochdir

此选项将在启动目录时设置为当前文件的目录。

答案 1 :(得分:1)

您可以尝试Ctrl-P。我遇到了和你一样的问题,让改变解决了。

我也忽略了一些文件夹(在.vimrc中):

let g:ctrlp_custom_ignore = {
\ 'dir':  '\.git$\|\.hg$\|\.svn$',
\ 'file': '\.exe$\|\.so$\|\.dll$' }