В настоящее время я завершаю завершение моей вкладки zsh:
autoload -U compinit && compinit
zstyle ':completion:*:default' menu select=0
zstyle ':completion:*:default' select-scroll 0
Что мне нравится в этом:
- недвусмысленные доработки завершаются немедленно
- неоднозначные дополнения расширяются, насколько это возможно (первый удар вкладки), и двусмысленности получаются ко мне (второй удар)
- нажатие на вкладку дальше (еще один шаг вкладки после появления списка). Я просматриваю меню-select'ions, то есть приглашение остается над списком двусмысленностей, один из них подсвечивается и вставляется в подсказку; нажав вкладку дальше, я перехожу к следующему элементу. Даже если список двусмысленностей не может быть отображен, тогда список под подсказкой прокручивается.
Что мне не нравится:
- Если список слишком длинный для отображения, он сначала печатается полностью, и приглашение заканчивается ниже списка, и только со следующим шагом я снова вернусь в верхнюю часть терминала для режима выбора меню.
Итак, я хотел бы изменить поведение на:
- недвусмысленные доработки завершаются немедленно
- неоднозначные дополнения расширяются, насколько это возможно (первый удар вкладки), и двусмысленности получаются ко мне, ВСЕГДА под подсказкой, даже если список слишком длинный, чтобы его можно было отобразить полностью (не имеет значения, если первый или второй ход )
- нажатие на вкладку дальше (еще один шаг вкладки после появления списка). Я просматриваю меню-select'ions, то есть приглашение остается над списком двусмысленностей, один из них подсвечивается и вставляется в подсказку; нажав вкладку дальше, я перехожу к следующему элементу. Даже если список двусмысленностей не может быть отображен, тогда список под подсказкой прокручивается.
Важным аспектом является то, что список двусмысленностей отображается до того, как первый будет вставлен в приглашение. В противном случае я уже мог бы использовать
zstyle ':completion:*:default' menu select=0 yes=0