Для того, чтобы быстро прыгать по каталогам в Linux, можно использовать разные продвинутые оболочки типа zsh, а можно прикрутить маленький костылёк wcd к старому-доброму bash. О том и пост - самому не забыть и читателя потешить :-)
Итак, что мы имеем после установки wcd? Набираем часть имени каталога, нажимаем Enter и видим варианты - выбираем один из них и тут же перелетаем в нужный нам каталог.
Как установить Wcd?
Установка проста:
aptitude install wcdДалее создаём ссылку на wcd.exec в домашнем каталоге:
ln -s /usr/lib/wcd/wcd.exec ~/binлибо (для новых версий)
ln -s /usr/bin/wcd.exec ~/bin
и добавляем следующую функцию в стартовый файл .bashrc оболочки bash:
function wcd
{ $HOME/bin/wcd.exec $* . $HOME/bin/wcd.go }
После этого следует перезалогиниться или создать новую оболочку (открыть новый таб).
Как использовать WCDДля этого сначала создадим деревья директорий. Например
$ wcd -A .
Wcd: Please wait. (re)Scanning disk. Building treedata-file from /home/beastИ всё. Теперь получаем удовольствие.
Но набирать это всё долго и лениво. Вместо этого пишем:
$ wcd cvk*
a /home/beast/docs/matlab/Sci/cvkonnik
b /home/beast/docs/matlab/docus/Work/otherscidocs/Sci/cvkonnik
Wild match for 2 directories. w=up x=down ?=help Page 1/1
Please choose one (to abort):
Нажимаю букву b и тут же перелетаю в нужный мне каталог:
beast@notebeast:~/docs/matlab/docus/Work/otherscidocs/Sci/cvkonnik$И все дела. Очень удобно и очень здорово!
Ещё веселее, если такой каталог у вас один - переход произойдёт сразу же:
wcd IST*
-> /home/beast/docs/matlab/docus/articles/SPIEproceedings/IST2009
beast@notebeast:~/docs/matlab/docus/articles/SPIEproceedings/IST2009$
Обновление дерева каталогов
$ wcd -A .
И после этого ваши новые каталоги снова в строю.
Ссылки
На всякий случай WCD расшифровывается как Wherever Change Directory. Сайт автора программы, но он очень аскетичен. Также толковую статью по wcd можно найти на ЛинСовете
15 комментариев: |высказаться!| RSS-лента дискуссии.|
Спасибо! По описанию -- очень полезная тулзень. Только странно, что у нее своя база, а не используется locate.db. И кстати, как она обновляется? Если создать новую директорию -- она ее сразу подхватит?
в закладки, спасибо.
Кстати, русская буква "с" в конце пути "$HOME/bin/wcd.exeс" доставила немало приятных минут, сопровождавшихся почесыванием затылка и незамысловатыми проклятиями в адрес автора :))
Исправьте, пожалуйста, пока такие же ленивые копипастеры как я не набежали.
wcd после комментариев к моему посту о zsh я таки попробовал, но по вкусу он мне не пришёлся. Но ты подсаживай, подсаживай народ на полезные утилики ;)
Кстати, пост на главной выглядит очень странно. Отчего так, я выяснить не смог.
И повнимательней перечитай раздел со ссылками. Ты в своём репертуаре ;)
@ Alex Shulgin пишет...
По описанию -- очень полезная тулзень.
Сия тулзень моя любимая. Очень экономит время, силы и клавиатуру ноутбука.
И кстати, как она обновляется?
Нет - добавил в пост, кстати, спасибо.
@Alex Shulgin пишет...
Кстати, русская буква "с" в конце пути "$HOME/bin/wcd.exeс" доставила немало приятных минут, сопровождавшихся почесыванием затылка и незамысловатыми проклятиями в адрес автора
То-то мне икалось с утра :-) Поправлено, приношу свои глубочайшие извинения.
@Minoru пишет...
wcd после комментариев к моему посту о zsh я таки попробовал, но по вкусу он мне не пришёлся.
так на вкус и цвет фломастеры разные :-)
Но ты подсаживай, подсаживай народ на полезные утилики ;)
А я что? Чем пользуюсь, про то и пою, играя на старом потёртом баяне.
Кстати, пост на главной выглядит очень странно.
Дык это, интрига ж. Плюс традиционные штучки Blogger.
И повнимательней перечитай раздел со ссылками. Ты в своём репертуаре ;)
Не, я требую сделать написание "Так\же" произвольным. Почему министр образования может говорить и писать кофЕЙ, а я нет? :-)
Серьёзно - спасибо за правки и предложения!
Просто отлично. Огромное спасибо лично от меня и дополнительные спасибы от клавиш табуляции на моих клавиатурах. :)
«Для того, чтобы быстро прыгать по каталогам в Linux, можно использовать разные продвинутые оболочки типа zsh»
А можно поподробнее как такое можно сделать в zsh без wcd?
и в sid'е установка wcd заключается в добавлении строчки
. /usr/share/wcd/wcd-include.sh
в rc-файл
>А можно поподробнее как такое можно сделать в zsh без wcd?
Конкретно такое же — никак. В zsh есть вкусности типа auto cd (не надо писать cd перед путём) и продвинутого автодополнения (“doc/K/s/al/la/” одним нажатием Tab'а превращается в “documents/KPI/subjects/algorithmization\ and\ programming/labs/”). Мы это обсуждали у меня в блоге, когда я про ZSH писал (Миш, извини за пиар).
Minoru, такое я и сам нагуглил
А ещё можно переменную CDPATH установить (man bash /CDPATH). Тогда при нажатии табуляции подстановки будут искаться не только в текущем каталоге, но и во всех каталогах из CDPATH. У меня, например, в .bashrc стоит:
export CDPATH=".:~:~/work:~/text:~/work/build"
И ничего устанавливать не надо. Это встроенная возможность bash.
я пользуюс
pushd|popd+клавиша tab
пока хватает.
на кате ужос - вместо команд - пустые квадратики. под катом - зашибись. поправьте плиз. (Firefox, Linux 3.6)
@ Minoru
>А можно поподробнее как такое можно сделать в zsh без wcd?
Конкретно такое же — никак.
Ну вот, а я уж думал, сейчас обзовут меня велосипедистом :)
(Миш, извини за пиар).
Правильно-правильно, пользуйся служебным положениям в корыстных целях :-)))
@Сергей, 03.03.2010 18:49:00
А ещё можно переменную CDPATH установить (man bash /CDPATH).
Это безусловно так, но тут смак в том, что оно ищет по совпадениям с фразой - и нажатием одной кнопки сразу перелетаем куда надо.
@Анонимный
я пользуюс
pushd|popd+клавиша tab
Ммм... не знал. Заценим. Спасибо!
@Анонимный, 16.03.2010 22:11:00
на кате ужос - вместо команд - пустые квадратики. под катом - зашибись.
Не поправляется оно - вставил картинки и вот такое. Но на главной его уже нет, а искаться будет полная версия, так что можно считать, что поправил :-)
У меня Ubuntu 10.04 выдает вот что:
bash: /home/xomyaq/bin/wcd.exec: Not a directory
bash: /home/xomyaq/bin/wcd.go: Not a directory
Не могу понять в чем дело.
Отправить комментарий