Я склонен работать над несколькими проектами, и все они хранятся в моей домашней (~) директории в директории с именем web .

В какой-то момент все мои проекты были внутри одного каталога внутри этого; Итак, чтобы перейти от проекта А к проекту Б:

~ $ cd ../project-b

Однако теперь я начал классифицировать проекты, то есть мне нужно было

~ $ cd ~/web/project-name

Я хотел бы написать сценарий оболочки или псевдоним, чтобы я мог набрать

~ $ command project-name

И переключитесь на него с завершением табуляции таким образом, чтобы proj в вышеприведенном случае мог быть завершен как tab- для project- . Проекты могут быть определены как файл в ~/web , с запасным вариантом для любого прямого потомка этого каталога.

Вся область завершения вкладок находится вне моей области знаний - если это кажется тривиальным, и я бы лучше всего прочитал больше о завершении вкладок, пожалуйста, не могли бы вы прокомментировать с кратким онлайн-ресурсом, и я могу попробовать свое собственное решение. Конечно, полные скриптовые решения также приветствуются, как и функции оболочки, которые я полностью пропустил!

1 ответ1

0

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

ln -s ~/web/project-b ~/web/project-name ~

Это намного проще, чем реализация сценария оболочки плюс пользовательский сценарий завершения Bash.

Другое простое решение, которое вы можете использовать, не реализовывая ничего, - это поиск по истории Bash: Ctrl - r запускает поиск по подстроке, и к тому времени, когда вы ввели имя проекта, он, вероятно, уже нашел запись. Если нет, снова нажмите Ctrl - r, чтобы найти следующую более старую запись истории с той же подстрокой. С простой настройкой конфигурации вы также можете просто набрать cd и нажать Up, чтобы перейти к более ранним командам, начинающимся с "cd".

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .