Как использовать "wildignore" в Vim?
У меня много проблем с выяснением синтаксиса для параметра wildignore
в Vim.
Предположим, что мне нужен плагин для поиска файлов (я использую Ctrlp, который использует wildignore
), чтобы не искать скрытые файлы и папки, то есть файлы и папки с префиксом .
.
Как я могу это сделать?
Ответы
Ответ 1
Как отметил BenC, Wildignore, возможно, не лучший способ игнорировать файлы, если вы используете CtrlP с внешним инструментом поиска. Вместо этого вы можете использовать директиву CtrlP "custom_ignore", как указано в их документах:
let g:ctrlp_custom_ignore = '\v[\/]\.(git|hg|svn)$'
let g:ctrlp_custom_ignore = {
\ 'dir': '\v[\/]\.(git|hg|svn)$',
\ 'file': '\v\.(exe|so|dll)$',
\ 'link': 'SOME_BAD_SYMBOLIC_LINKS',
\ }
Ответ 2
Относительно ctrlp.vim
и wildignore
в частности, если вы наберете :help ctrlp-options
и немного прочитали, вы найдете:
Примечание # 1: по умолчанию wildignore и g: ctrlp_custom_ignoreприменяются, когда globpath() используется для сканирования файлов, поэтому эти параметры не применяются, если команда, определенная с помощью g: ctrlp_user_command, используется.
Таким образом, вам может понадобиться unlet g:ctrlp_user_command
(возможно, установить команду по умолчанию), чтобы использовать wildignore
. Например, в ~/.vimrc
добавить:
if exists("g:ctrl_user_command")
unlet g:ctrlp_user_command
endif
set wildignore+=.*
Ответ 3
См. :help file-pattern
. В принципе, если вы просто хотите исключить все, что начинается с точки, вы можете сделать .*
.