Назад | Перейти на главную страницу

Остановите завершение вкладки bash, чтобы не думать, что я хочу перейти в каталоги .svn

У меня есть структура папок, которая находится в подрывной работе.

Есть целая куча каталогов верхнего уровня, в которых есть только одна подпапка. (например 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'
    

    Но это может вам не подойти.