Умное заполнение клавишей Tab (для каталогов)?

Есть ли версии оболочки, которые имеют более интеллектуальное заполнение клавишей Tab?

Я хотел бы смочь ввести

cd foo-<TAB>

Затем это показало бы мне возможные завершения наряду с числами, что я могу ввести для выбора одного из них:

cd foo-<TAB>
(1) foo-bar1  (2) foo-bar2  (3) foo-bad

Так, после <TAB> Я ввел бы 3 и это взяло бы меня к foo-bad. С другой стороны, использование клавиш со стрелками вместо того, чтобы ввести число было бы прекрасно.

7
задан 11.06.2014, 02:00

2 ответа

Можно включить menu-complete в Bash для продвижения посредством записей на командную строку каждый раз Вы нажимаете Tab. Это не действительно, что Вы ищете. Если Вы хотите попробовать его, сделайте это в командной строке:

bind '"\C-i": menu-complete'

Чтобы заставить его сохраниться, добавьте это к Вашему ~/.inputrc файл:

"\C-i": menu-complete

Zsh имеет функцию, которая позволяет Вам использовать клавиши со стрелками для выбора записи. Добавьте это (или другое изменение) к Вашему ~/.zshrc файл:

zstyle ':completion:*' menu select=0

Посмотрите man zshcompsys и поиск "выбора =" (это будет в разделе для menu "Стандартный стиль") для получения дополнительной информации.

Иначе, в Bash, Вы могли записать функцию (или даже создать Вашу собственную функцию завершения), который сделает что-то на основе select команда. Это чрезвычайно упрощенно:

$ select a in x y z; do cd $a; done
1) x
2) y
3) z
#?

Необходимо было бы конкретизировать это много, чтобы заставить это делать то, что Вы хотите.

10
ответ дан 07.12.2019, 14:31

Вы уже используете нормальное завершение? попробовать

complete -d cd pushd rmdir

В Вашей оболочке и видят, достаточно ли это близко к тому, что Вы хотите.

Можно также попробовать zsh, который имеет лучшее завершение, чем удар.

9
ответ дан 07.12.2019, 14:31

Теги

Похожие вопросы