Я использую завершение вкладки на основе меню Zsh. Я нажимаю Tabодин раз, и появляется список возможных завершений. Если я нажму Tabснова, я могу перемещаться по этому списку с помощью клавиш со стрелками. Тем не менее, можно ли управлять ими с vi
-как H, J, K, Lключи вместо?
Я использую режим Emacs для ввода командной строки, с bindkey -e
в ~/.zshrc
. Я также использую ZIM с Zsh . Если уместно, команды, которые определяют систему завершения табуляции, находятся здесь .
zsh
autocomplete
line-editor
Sparhawk
источник
источник
bindkey
команды в терминале, но не получается, если я ставлю их в конце~/.zshrc
, с/home/sparhawk/.zshrc:bindkey:186: no such keymap `menuselect'
.zstyle
линию? Да, у меня это~/.zshrc
тоже было.autoload -Uz compinit
иcompinit
не сработало, но я не уверен, что включение это проблема, потому что (а) выбор меню работает нормально в общем смысле, и всегда есть, и (б) я могу вручную запуститьbindkey
строки позже, что работает. Кроме того, я только что понял (б) работает, только если я сначала нажимаю вкладку , предположительно, чтобы инициализировать систему завершения, а затем запуститьbindkey…
. В противном случае это не так, как указано выше (bindkey: no such keymap `menuselect'
).Самое близкое, к чему я пришел, - это использовать CTRL- Nи CTRL- Pдля перемещения вперед и назад по списку возможных завершений, а не Tabи Shift- Tab. Это является более
vi
-как навигации.В
.zsh
файле конфигурации я добиваюсь этого с помощью:И в связи с этим:
Вот документы для привязок .
источник
-M menuselect
можно добавить вbindkey
команду, чтобы ограничить режим здесь.