Нажмите ^v(Ctrl-v)
или cat
в zsh shell
, а затем key-combinations(Ctrl+left)
зависимости от того, что вы хотите использовать, чтобы получить соответствующее значение bindkey. Используйте этот вывод в команде. Это зависит от системы в зависимости от драйвера терминала и т.д.
В моем случае Ctrl-left
был ^[O5D
. Следовательно, bindkey '^[O5D' backward-word
Если вы хотите сделать один шаг вперед, https://stackoverflow.com/a/8645267/2538943 предоставляет идею обобщения привязок клавиш zsh с помощью автозагрузки cmd autoload zkbd ; zkbd
После этого добавьте следующую строку source ~/.zkbd/$TERM-${${DISPLAY:t}:-$VENDOR-$OSTYPE}
в свой .zshrc. Отныне вы можете писать это как [[ -n ${key[Left]} ]] && bindkey "${key[Left]}" backward-char
. Таким образом, вы можете скопировать один и тот же .zshrc на разные машины.
Дополнительная информация: Питер Стивенсон говорит ...the function keys on your keyboard... It depends a good deal on how your windowing system or terminal driver handles them...
Следовательно, лучше проверять все эти привязки клавиш перед запуском любого такого сценария, хотя в большинстве случаев он может не изменяться.
Для подробного понимания связывания клавиш для zsh, проверьте это руководство. http://zsh.sourceforge.net/Guide/zshguide04.html.
Если вы хотите знать, как отображается нажатая клавиша, https://unix.stackexchange.com/questions/116629/how-do-keyboard-input-and-text-output-work/116630#116630