
Текстовые редакторы, такие как vim и emacs, имеют плагины, такие как ace jump, avy, которые позволяют вам нажать символ, после чего он подсветит каждое вхождение этого символа с помощью временной привязки клавиш, затем вы можете нажать эту привязку клавиш, чтобы перейти непосредственно к нему.
Интересно, существует ли что-то подобное для оболочек (например, bash), чтобы быстро переходить к определенному каталогу без необходимости cd
перебирать каталоги? Может быть, что-то, что будет перечислять каталоги на определенную глубину, ждать ввода символа, выделять экземпляры символа с помощью последовательности клавиш и cd
входить в него при нажатии последовательности?
Если чего-то подобного еще не существует, насколько легко это создать?
решение1
fzf
делает это. Это нечеткое дополнение / помощник выбора файлов. Его основное применение — выбор файлов из большого списка (например, find . -type f | fzf > selected
).
После установки и загрузки в оболочку вы можете нажать , AltCчтобы открыть окно, в котором вы можете ввести нечеткую строку для поиска каталогов. Когда вы выбираете один и нажимаете Enter, fzf перейдет cd
в этот каталог.
Для автозаполнения имен файлов таким же образом, вы можете нажать CtrlT. Для поиска по истории нажмите CtrlR.
решение2
Может быть, это не совсем то, что вам нужно, но я думаю, стоит попробовать.ВДК. Он создает "базу данных" (один текстовый файл), в которой хранится список каталогов. wcd foo
Команда показывает список каталогов, которые содержат foo
, и вы можете выбрать один из них.
Еще один похожий вариант —автопрыжок.
решение3
Существуют различные оболочки и расширения оболочек, которые поддерживаютавтозаполнение частичного путиирыбаодин из них
Например, cd /v/l/fsck
Tabпреобразует путь в /var/log/fsck/
. cd /u/s/appl
Tabрасширяет путь до/usr/share/applications/
Некоторые другие альтернативы:
Смотрите также