Emacs ido-стиль оболочки
Есть ли оболочка командной строки или оболочка, которая поддерживает файл ido find в стиле emacs? В emacs я могу быстро перейти в каталог с помощью C-x C-f
и (ido-mode t)
.
В идеале, я ищу решение, которое можно использовать вне emacs. Хотя я был бы открыт для быстрого изменения каталогов в буфере eshell.
Ответы
Ответ 1
Так как я тоже хотел что-то вроде этого, я попытался реализовать его как завершение bash
функция. Очевидно, это означает. вы должны использовать bash.
Это просто проверено, поэтому, пожалуйста, не стесняйтесь сообщать об ошибках/комментариях.
http://pgas.freeshell.org/shell/bash-ido
Ответ 2
Попробуйте Z-оболочку. Он имеет гораздо лучшее завершение, чем bash. Должен признаться, что я не использовал его какое-то время, хотя и придерживался bash, потому что он всегда доступен.
Ответ 3
Bash имеет переменную среды, называемую CDPATH, которая может содержать список каталогов для поиска при использовании команды cd. Кроме того, ознакомьтесь с разделами "Программируемое завершение" и "READLINE" руководства Bash. Вы должны быть способны копать вместе то, что работает для вас.
Ответ 4
Лучшее, что мне удалось придумать, - autojump. Все еще ищут решение ближе к ido, но autojump - отличное приложение.
Ответ 5
Я знаю, что некоторое расширение поддержки эмулятора терминала, например, rxvt-unicode может быть расширен скриптами Perl. Я не уверен, так как я никогда не писал расширение самостоятельно, но, возможно, то, что вы хотите, выполнимо таким образом.
Если вы хотите посмотреть некоторые скрипты Perl для urxvt, в /usr/lib/urxvt/perl есть примеры с установкой urxvt по умолчанию на Debian.
Ответ 6
Если вы хотите завершить ido в eshell или аналогичном, лучше всего написать функцию, которая использует ido для чтения каталога, а затем вставляет эту команду в cd в этот каталог в буфер оболочки. Я сам не использую eshell, поэтому я не мог комментировать, как на самом деле писать эту функцию, но это идея.