Есть ли версии оболочки, которые имеют более интеллектуальное заполнение клавишей Tab?
Я хотел бы смочь ввести
cd foo-<TAB>
Затем это показало бы мне возможные завершения наряду с числами, что я могу ввести для выбора одного из них:
cd foo-<TAB>
(1) foo-bar1 (2) foo-bar2 (3) foo-bad
Так, после <TAB>
Я ввел бы 3
и это взяло бы меня к foo-bad
. С другой стороны, использование клавиш со стрелками вместо того, чтобы ввести число было бы прекрасно.
Можно включить 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
#?
Необходимо было бы конкретизировать это много, чтобы заставить это делать то, что Вы хотите.
Вы уже используете нормальное завершение? попробовать
complete -d cd pushd rmdir
В Вашей оболочке и видят, достаточно ли это близко к тому, что Вы хотите.
Можно также попробовать zsh, который имеет лучшее завершение, чем удар.