如何在 vim 中为 ctrl p 将目录列入白名单
How to white list a directory for ctrlp in vim
Ctrlp 当前 searches/indexes 我的整个主目录,我怎么能告诉它只索引 ~/code
?
您必须 several options 配置 CtrlP 搜索文件的位置。您必须将这些添加到您的 .vimrc
文件中。
例如,在我的例子中,我使用 ag
来执行搜索:
let g:ctrlp_user_command = 'ag %s -l --hidden --nocolor -g "" --ignore .git'
通常CtrlP 会查看当前项目的目录。如果你总是想像你问的那样在 ~/code
中搜索,你可以添加这个自定义命令(在 OSX 中):
let g:ctrlp_user_command = 'find ~/code -type f ! -path "*.git*"'
您甚至可以添加额外的目录,例如:
let g:ctrlp_user_command = 'find ~/code ~/foo ~/bar -type f ! -path "*.git*"'
但是,我建议不要固定 CtrlP 将查找的目录,而让它搜索当前文件的项目(参见 let g:ctrlp_working_path_mode
)
CtrlP searches/indexes 你的整个主目录,因为这是你要求它做的。
您可能在 $HOME
中开始 Vim 并从那里开始 :CtrlP
。由于工作目录是 $HOME
,因此 CtrlP 会扫描所有目录,因此您不必感到惊讶。
解决此非问题的方法是简单地使用您的 shell 和 Vim,因为它们应该被使用:
$ cd ~/code
$ vim
Ctrlp 当前 searches/indexes 我的整个主目录,我怎么能告诉它只索引 ~/code
?
您必须 several options 配置 CtrlP 搜索文件的位置。您必须将这些添加到您的 .vimrc
文件中。
例如,在我的例子中,我使用 ag
来执行搜索:
let g:ctrlp_user_command = 'ag %s -l --hidden --nocolor -g "" --ignore .git'
通常CtrlP 会查看当前项目的目录。如果你总是想像你问的那样在 ~/code
中搜索,你可以添加这个自定义命令(在 OSX 中):
let g:ctrlp_user_command = 'find ~/code -type f ! -path "*.git*"'
您甚至可以添加额外的目录,例如:
let g:ctrlp_user_command = 'find ~/code ~/foo ~/bar -type f ! -path "*.git*"'
但是,我建议不要固定 CtrlP 将查找的目录,而让它搜索当前文件的项目(参见 let g:ctrlp_working_path_mode
)
CtrlP searches/indexes 你的整个主目录,因为这是你要求它做的。
您可能在 $HOME
中开始 Vim 并从那里开始 :CtrlP
。由于工作目录是 $HOME
,因此 CtrlP 会扫描所有目录,因此您不必感到惊讶。
解决此非问题的方法是简单地使用您的 shell 和 Vim,因为它们应该被使用:
$ cd ~/code
$ vim