2010-06-25 3 views
3

Ищете решение для быстрого перехода к длинным путям в оболочке (в частности, Max OS X Terminal.app).Закладка для каталогов В терминале

Say мой путь ~/Это/Is/A/Действительно/Long/Path/То/I/Будет/Скорее/Не/Тип/Часто

Вместо кд ~/Это/Is/A/....

Я хотел бы иметь возможность хранить любимые объекты/закладки каталогов, так что я мог сделать «CD myPath»

есть ли какие-либо двоичные файлы или инструменты, доступные, чтобы сделать что-то вроде этого?

ответ

8

Я нашел пакеты «Apparix» и «Goto», которые вместе делают вещи мечты для наших терминалов-наркоманов.

Естественно, у меня возникли проблемы с установкой Apparix, но я понял это в конце.

Как установить Apparix на Mac OS X:

  1. Скачать тарбалл с домашней страницы Apparix в.
  2. Распакуйте архив, компакт-диск в распакованную папку.
  3. Запустить эту команду ./configure --prefix=$HOME/local && make && make install.
  4. Run man apparix, прокрутите вниз до заголовка функций BASH стиле, скопировать все, что в этом разделе (разделители с ---) и вставить его в ~/.bash_profile.

Всё. Теперь у вас должен быть Apparix и работать на OS X (дальнейшая установка информации и использование на главной странице Apparix).

0

Почему бы не иметь символическую ссылку?

ln -s ~/This/Is/A/Really/Long/Path/That/I/Would/Rather/Not/Type/Frequently bmark 
cd bmark 
+0

Хорошая идея, но я предпочел бы не увязнуть свою файловую систему с еще большим количеством записей. У меня уже есть очень структурированная файловая система, мне просто нужно перемещаться по командной строке проще/быстрее. –

3

Вы можете использовать псевдонимы (наклеить их в вашем ~/.bash_profile, если вы хотите, чтобы всегда загружать)

alias cd_bmark1='cd ~/This/Is/A/Really/Long/Path/That/I/Would/Rather/Not/Type/Frequently'

Затем используйте только печатая

cd_bmark1

в консоль

+0

, который не будет работать, если вы используете что-либо еще, кроме bash (подумайте о графическом интерфейсе с открытыми/сохраненными диалогами) –

+0

@Pafy OP сказал: «Вместо cd ~/This/Is/A/....» Я понял, что он ссылался на консоль –

+1

Конечно, но если вы «sudo su» больше не будете работать :) –

1

Я знаю, что вы уже нашли ответ, который работал для вас, но несколько более легких предложений, которые могли бы помочь ищут другие подобные вещи

  • Если ваши каталоги относительно фиксированные, только длинные и вдали друг от друга вы можете использовать CDPATH environment variable для добавления каталогов в путь поиска при вводе команды «cd». Если имя каталога, к которому вы пытаетесь подключиться к cd, находится не в текущем каталоге, также будут рассмотрены другие записи на вашем пути к CD (а также вкладка полностью осведомлена, по крайней мере, в bash и zsh).

  • Переключение на zsh вместо bash и использование отличного directory stacks abilities.С его помощью вы можете поддерживать историю каталогов, которые вы посетили, просматривать историю с помощью псевдонима «dh» и легко переключаться в каталог с помощью быстрых ярлыков (например: cd -3 для перехода на 3-й каталог в вашем стек истории).

7

Другим решением является использование Bashmarks, что позволяет этой

$ cd ~/This/Is/A/Really/Long/Path/That/I/Would/Rather/Not/Type/Frequently 
$ s shortname # save current path as `shortname` 
$ cd/   
$ g shortname # cd to ~/This/Is/A/Really/Long/Path/That/I/Would/Rather/Not/Type/Frequently 
+0

Смотрели; Спасибо, что поделился. Он выглядит довольно похоже на то, что делает Apparix. Если Apparix перестанет работать для меня, мне придется установить этого плохого мальчика. : P –

+0

+1 для простой команды –

+1

fyi ... bashmarks был переименован в shellmarks – Wes