Ответ 1
Используйте параметр "wildignore":
:set wildignore+=**/temp/**
или если вы хотите уточнить:
:set wildignore+=~/nbapp/temp/**
Это должно исключить все файлы в каталоге nbapp/temp в: find result.
В моем файле .vimrc у меня есть две очень полезные строки:
set path=~/nbapp/**
set backupdir=~/nbapp/temp
Первая строка позволяет мне искать в моем каталоге проекта и подкаталогах. Вторая строка делает vim создавать резервные файлы в специальной временной папке, а не мешать мне, добавляя десятки файлов резервных копий с тем же именем, за исключением "~" в конце. Однако, поскольку временные файлы все еще находятся в папке "nbapp" (и я хочу сохранить их там, потому что они связаны с проектом), это означает, что они также будут найдены, когда я сделаю поиск, который иногда меня беспокоит, потому что я продолжаю искать результаты поиска, но обнаруживаю, что они находятся во временной папке.
Есть ли какой-либо возможный способ исключить пути из поиска (т.е. vimgrep)? Я хочу исключить папку temp.
С уважением,
Рафид
Используйте параметр "wildignore":
:set wildignore+=**/temp/**
или если вы хотите уточнить:
:set wildignore+=~/nbapp/temp/**
Это должно исключить все файлы в каталоге nbapp/temp в: find result.
Вместо 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, в котором вы можете явно игнорировать папку.
Чтобы исключить некоторые каналы из :find
и gf
(например, node_modules
)
вы можете установить:
:set path=**
:set wildignore+=*/node_modules/*
Например, в 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
set path-=~/nbapp/temp
- предпочтительный метод удаления записей пути, поскольку он защищает вас от обновлений vim, которые могут изменять значение "путь".