Vim: игнорировать специальный путь в поиске - PullRequest
18 голосов
/ 28 ноября 2010


В моем файле .vimrc у меня есть две очень полезные строки:

set path=~/nbapp/**
set backupdir=~/nbapp/temp

Первая строка позволяет мне искать в моем каталоге проектов и подкаталогах. Вторая строка заставляет vim создавать файлы резервных копий в специальной временной папке, а не мешать мне, добавляя десятки файлов резервных копий с одинаковыми именами, за исключением символа '~' в конце. Однако, поскольку временные файлы все еще находятся в папке 'nbapp' (и я хочу сохранить их там, потому что они связаны с проектом), это означает, что их также будут искать при выполнении поиска, что иногда мешает мне потому что я продолжаю смотреть на результаты поиска, но пока не обнаруживаю, что они на самом деле находятся во временной папке.

Есть ли какой-нибудь возможный способ исключить пути из поиска (например, vimgrep)? Я хочу исключить папку 'temp'.

С уважением,
Рафид

Ответы [ 5 ]

22 голосов
/ 29 ноября 2010

Используйте параметр 'wildignore':

:set wildignore+=**/temp/**

или, если вы хотите быть более конкретным:

:set wildignore+=~/nbapp/temp/**

Это должно исключить все файлы в каталоге nbapp / temp в: find result.

5 голосов
/ 28 ноября 2010

Вместо vimgrep я использую команду grep

:help grep

Я использую настройку

set grepprg=grep\ -nIh\ --exclude=tags\ --exclude=cscope.out

, когда хочу искать файлы, но исключаю файлы тегов и файлы cscope.Вы можете изменить вышеприведенное, чтобы не искать файлы, заканчивающиеся на ~.Я не думаю, что вы можете исключить папку с помощью grep (или, может быть, попробуйте --exclude = ~ / nbapp / temp / * это может сработать, я не проверял это).

Если это такне работает, я рекомендую использовать ack для grepprg вместо grep.ack как опция ignore-dir = name, в котором вы можете явно игнорировать папку.

2 голосов
/ 07 октября 2017

Чтобы исключить некоторые каталоги из :find и gf (например, node_modules), вы можете установить:

:set path=**
:set wildignore+=*/node_modules/*
0 голосов
/ 27 мая 2013

Например, в Ubuntu просто

sudo apt-get install ack-grep

sudo ln -s /usr/bin/ack-grep /usr/bin/ack

, затем установите http://www.vim.org/scripts/script.php?script_id=2572

и добавьте следующую строку к вашему .vimrc

noremap <C-f> :copen<CR>:Ack --ignore-dir #first_ignore_dir# --ignore-dir #second_ignore_dir# -ai 
  • открыть кадр поиска по Ctr + F, повеселиться
0 голосов
/ 28 ноября 2010
set path-=~/nbapp/temp

является предпочтительным методом удаления записей пути, поскольку он защищает вас от обновлений vim, которые могут изменить значение 'path'.

...