У меня есть структура папок, которая находится в подрывной работе.
Есть целая куча каталогов верхнего уровня, в которых есть только одна подпапка. (например src/com/example
). Обычно, когда я хочу записать компакт-диск в папку с примером, я могу пойти cd src/<tab><tab>
так как bash будет заполнять имена папок, так как в каждой папке есть только одна, он идет до конца.
Однако, поскольку эта структура каталогов теперь находится в svn, существует .svn
каталог в каждом, а это значит, что я не могу записать так быстро.
Если я попробую cd src/<tab>
это предполагает .svn
и com
, в отличие от автоматического заполнения com
.
Есть ли способ сказать bash никогда не предлагать cd'ing в папку .svn, чтобы, если я завершу вкладку, он не будет включать .svn
?
Я могу предложить вам два варианта. Любой из них можно разместить в вашем ~/.bash_profile
.
Bash использует переменную $FIGNORE
который определяет любые суффиксы, которые будут игнорироваться автозаполнением. Однако, похоже, есть загвоздка в том, что он ставит перед любым значением префикс *.
. Итак, настройка:
export FIGNORE=.svn
Будет игнорировать только каталоги, в которых что-то есть до точки. И:
export FIGNORE=svn
Проигнорирует .svn
каталоги и все остальное, что заканчивается на .svn
.
Пусть покупатель будет бдителен.
Вы можете запретить включение всех скрытых файлов и каталогов в автозаполнение:
bind 'set match-hidden-files off'
Но это может вам не подойти.