Как исключить файлы и каталоги из проекта в vim (используя janus)?

Я перехожу с Textmate на vim (с janus) и хочу исключить некоторые каталоги из Ack в частности, а также NERDTree.

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

Я знаю, как исключить файлы (не каталоги) из NERDTree, а также исключить шаблоны из CommandT. Ни один из них не решает мою проблему с Ack.

Я полный vim n00b. Спасибо за прочтение.


person i2w    schedule 27.06.2011    source источник
comment
Какие варианты вы используете для Ack? --ignore-dir=nameOfDirectory будет игнорировать nameOfDirectory.   -  person romainl    schedule 27.06.2011


Ответы (3)


По умолчанию ack проверяет только ваш файл ~/.ackrc на наличие ключей по умолчанию. Вы можете иметь настройки ack для каждого каталога, если добавите это в свой .bash_profile:

export ACKRC=".ackrc"

http://www.rustyrazorblade.com/2012/03/making-better-use-of-your-ackrc-file/

person philfreo    schedule 26.04.2012
comment
На самом деле ack ищет .ackrc в нескольких местах. Не только ~/.ackrc. См. документацию по ack beyondgrep.com/documentation/. Он смотрит на все местоположения, глобальные, пользовательские и проектные. - person Les Nightingill; 02.09.2018

Для NerdTree используйте NERDTreeIgnore параметр.

что касается Ack - вы можете установить флаг --ignore-dir в своем .ackrc (как объяснено на странице руководства Ack)

person lukaszkorecki    schedule 09.10.2011
comment
Спасибо. То есть невозможно исключить каталоги из Ack для каждого проекта? - person i2w; 18.10.2011
comment
Вы можете создать сценарий-оболочку, который устанавливает ACK_OPTIONS для каждого проекта, поэтому это будет что-то вроде ACK_OPTIONS=--ignore-dir=lolwut ack $1 и использовать его вместо команды ack. - person lukaszkorecki; 19.10.2011
comment
Я думаю, что это лучшее, что я могу получить. Спасибо! - person i2w; 26.10.2011

Мне нужно было только создать .ackrc в моем верхнем каталоге со следующим:

--ignore-dir=log/
person Abdo    schedule 22.05.2015