Иногда, когда я работаю с глубоко вложенными файловыми иерархиями (например, Java-кодом), мне кажется, что это раздражает, чтобы переходить от одного листа к другому. Мой обычный cd-up выглядит так:
$ cd ../../.. # Oops, not enough $ cd .. # one more $ cd ..
Если я хочу отредактировать файл, я смогу vim dir
и интерактивно открыть нужный файл.
Есть ли какая-то утилита, которая позволяет интерактивно менять каталог? Исследователи / командиры ( mc
, vifm
) слишком тяжелы для такой задачи.
Я искал в Интернете, но мои ключевые слова, похоже, не возвращают ничего актуального.
Добавлено для уточнения:
Я ищу утилиту (назовем ее vcd
), которая представляет мне интерактивное дерево каталогов, которое я могу перемещать, и выберите, где cd.
С точки зрения пользователя vim .
вызывает гипотетический vcd
который в конце выполняет vim $filename
. Я бы хотел, чтобы аналогичная функциональность (браузер каталогов), в конце концов, в конечном итоге с CWD
изменилась на интерактивно выбранный каталог. Надеюсь, это сделает мои намерения более ясными.
Что-то вроде DM
от PC Magazine в дни DOS … Я не знаю подобной программы в Linux, но мне очень нравится xd
для навигации по каталогам; с функцией, определенной как
xd() { cd "$(/usr/bin/xd "$@")" }
вы можете ввести, например
xd /ulb
который будет распечатывать список всех каталогов, соответствующих /u*/l*/b*
( /usr/lib/binfmt.d
, /usr/local/bin
…), попросить вас выбрать один и изменить его.
Попробуйте fzf-fs .
Установить fzf :
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf ~/.fzf/install
Измените источник ~/.bashrc
:. . ~/.bashrc
Clone fzf-fs
: git clone https://github.com/D630/fzf-fs ~/fzf-fs
Добавьте ~/fzf-fs
к вашему PATH
: PATH=$PATH:~/fzf-fs
Запустить fzf-fs --init
Определите псевдоним: alias vcd='. fzf-fs'
alias vcd='. fzf-fs'
Запустить vcd ~
Вы должны увидеть что-то вроде этого:
Выберите каталог с помощью Enter , используйте нечеткий поиск, введите [q]
чтобы выйти.
См. Также: fzf-fs ИСПОЛЬЗОВАНИЕ , fzf-fs не поддерживает новые строки в именах файлов исправлено для cd
!
Хотя я не знаю инструмент, который соответствует вашему описанию, возможно, некоторые из небольших утилит, упомянутых ниже, были бы полезны?
pushd
и popd
, описанные здесь вместе с другими инструментами, которые могут повысить производительность при навигации вокруг
fasd – быстрый доступ к файлам и каталогам для оболочек POSIX
autojump – cd
который учится
z – вариация вышеприведенного
v – z
для vim