Подтвердить что ты не робот

Как использовать "wildignore" в Vim?

У меня много проблем с выяснением синтаксиса для параметра wildignore в Vim.

Предположим, что мне нужен плагин для поиска файлов (я использую Ctrlp, который использует wildignore), чтобы не искать скрытые файлы и папки, то есть файлы и папки с префиксом ..

Как я могу это сделать?

4b9b3361

Ответ 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. В принципе, если вы просто хотите исключить все, что начинается с точки, вы можете сделать .*.