#search #vim #nerdtree #vim-plugin
#Поиск #vim #nerdtree #vim-плагин
Вопрос:
Когда я ищу какой-либо файл с помощью command-T, он часто не может его найти, потому что я не в нужном каталоге, поэтому мне приходится менять каталог.
Можно ли установить, что command-T будет сначала искать в каталогах, в которых есть закладки, Nerdtree
или где-то еще?
Я мог бы изменить каталог на /
, но это поиск очень большого объема файлов. Когда я меняю каталог на свой домашний каталог и ищу что-то обычное, например .bashrc
, я найду довольно много файлов, которые расположены в .wine
каталоге.
В 99% случаев мне нужно искать файлы в каталогах проектов, с которыми я активно работаю. Могу ли я установить эти каталоги в некоторых настройках?
Ответ №1:
Согласно документации, вы можете исключить каталоги из своего поиска:
*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
Они позволяют вам:
— полностью игнорировать точечные файлы;
— прекратить рекурсивный поиск в dotdirs;
— укажите, на какой глубине команда-T должна остановить сканирование.
Я нашел эту информацию в git автора, но вы, вероятно, можете просмотреть этот документ, выполнив его в vim:
:help Command-T
(или похожее имя)
Я не видел никаких ссылок на настройки или закладки в плагине.
Однако, если вы запускаете vim, открывая файл в указанном каталоге проекта, вы можете добавить эту строку в свой .vimrc:
set autochdir
Эта опция установит при запуске вашего каталога каталог текущего файла.
Комментарии:
1. Спасибо, кажется, я могу частично достичь цели с помощью предложенных вами команд. Я бы хотел, чтобы автор добавил какую-нибудь противоположную команду к
wildignore
Ответ №2:
Вы могли бы попробовать Ctrl-P. У меня были те же проблемы, что и у вас, и внесение изменений решило их.
Я также игнорирую некоторые папки (в .vimrc):
let g:ctrlp_custom_ignore = {
'dir': '.git$|.hg$|.svn$',
'file': '.exe$|.so$|.dll$' }