Я нашел, что это сочетание:
Один
Разработчики ЗШ не думаю, что ЗШ следует определять на действия , Конец:, Del, ... ключи.
Debian и Ubuntu исправить это, указав обычные действия, которые средний пользователь ожидал бы в глобальном файле /etc/zsh/zshrc
. После соответствующего кода (это то же самое на Debian и Ubuntu):
if [[ "$TERM" != emacs ]]; then
[[ -z "$terminfo[kdch1]" ]] || bindkey -M emacs "$terminfo[kdch1]" delete-char
[[ -z "$terminfo[khome]" ]] || bindkey -M emacs "$terminfo[khome]" beginning-of-line
[[ -z "$terminfo[kend]" ]] || bindkey -M emacs "$terminfo[kend]" end-of-line
[[ -z "$terminfo[kich1]" ]] || bindkey -M emacs "$terminfo[kich1]" overwrite-mode
[[ -z "$terminfo[kdch1]" ]] || bindkey -M vicmd "$terminfo[kdch1]" vi-delete-char
[[ -z "$terminfo[khome]" ]] || bindkey -M vicmd "$terminfo[khome]" vi-beginning-of-line
[[ -z "$terminfo[kend]" ]] || bindkey -M vicmd "$terminfo[kend]" vi-end-of-line
[[ -z "$terminfo[kich1]" ]] || bindkey -M vicmd "$terminfo[kich1]" overwrite-mode
[[ -z "$terminfo[cuu1]" ]] || bindkey -M viins "$terminfo[cuu1]" vi-up-line-or-history
[[ -z "$terminfo[cuf1]" ]] || bindkey -M viins "$terminfo[cuf1]" vi-forward-char
[[ -z "$terminfo[kcuu1]" ]] || bindkey -M viins "$terminfo[kcuu1]" vi-up-line-or-history
[[ -z "$terminfo[kcud1]" ]] || bindkey -M viins "$terminfo[kcud1]" vi-down-line-or-history
[[ -z "$terminfo[kcuf1]" ]] || bindkey -M viins "$terminfo[kcuf1]" vi-forward-char
[[ -z "$terminfo[kcub1]" ]] || bindkey -M viins "$terminfo[kcub1]" vi-backward-char
# ncurses fogyatekos
[[ "$terminfo[kcuu1]" == "^[O"* ]] && bindkey -M viins "${terminfo[kcuu1]/O/[}" vi-up-line-or-history
[[ "$terminfo[kcud1]" == "^[O"* ]] && bindkey -M viins "${terminfo[kcud1]/O/[}" vi-down-line-or-history
[[ "$terminfo[kcuf1]" == "^[O"* ]] && bindkey -M viins "${terminfo[kcuf1]/O/[}" vi-forward-char
[[ "$terminfo[kcub1]" == "^[O"* ]] && bindkey -M viins "${terminfo[kcub1]/O/[}" vi-backward-char
[[ "$terminfo[khome]" == "^[O"* ]] && bindkey -M viins "${terminfo[khome]/O/[}" beginning-of-line
[[ "$terminfo[kend]" == "^[O"* ]] && bindkey -M viins "${terminfo[kend]/O/[}" end-of-line
[[ "$terminfo[khome]" == "^[O"* ]] && bindkey -M emacs "${terminfo[khome]/O/[}" beginning-of-line
[[ "$terminfo[kend]" == "^[O"* ]] && bindkey -M emacs "${terminfo[kend]/O/[}" end-of-line
fi
Так что, если вы подключаетесь к коробке Debian или Ubuntu, вам не нужно ничего делать. Все должно работать автоматически (если нет, см. Ниже).
Но ... если вы подключаетесь к другому ящику (например, FreeBSD), возможно, нет дружественного по умолчанию значения по умолчанию zshrc
. Разумеется, решение состоит в том, чтобы добавить линии от Debian/Ubuntu zshrc
к вашему собственному .zshrc
.
Два
шпатлевка посылает xterm
, как тип терминала к удаленному узлу. Но беспорядок где-то и не отправляет правильные коды управления для , Конец, ... этого можно было бы ожидать от xterm
. Или терминал xterm
не должен отправлять те или иные ... (Del ключ работает xterm
, однако, если вы настроили его в ZSH). Также обратите внимание, что ваши Numpad-клавиши действуют смешно в Vim, например, с терминалом xterm
.
Решение заключается в настройке Putty для отправки другого типа терминала. Я пробовал xterm-color
и linux
. xterm-color
исправлено Главная/Конец Проблема, но Numpad все еще был забавным. Установив его на linux
, исправлены обе проблемы.
Вы можете установить тип терминала в Putty в разделе Connection -> Data. Не испытывайте соблазн установить тип вашего терминала в .zshrc
с export TERM=linux
, это просто неправильно. Тип терминала должен быть указан вашим терминальным приложением. Таким образом, если, например, вы подключаетесь из Mac-контейнера с клиентом Mac SSH, он может установить собственный тип терминала.
Обратите внимание, что TERM указывает тип вашего терминала и не имеет ничего общего с хостом, к которому вы подключаетесь. Я могу установить свой тип терминала на linux
в Putty и без проблем подключиться к серверам FreeBSD.
Таким образом, исправить обе эти вещи, и вы должны быть хорошо :)
Спасибо за вышеуказанные привязки. Работа для меня в SecurtCRT – MikeRoger 2015-02-17 17:12:07