![远程 ZSH 并移动到行首给出 ^A 打印](https://linux22.com/image/702479/%E8%BF%9C%E7%A8%8B%20ZSH%20%E5%B9%B6%E7%A7%BB%E5%8A%A8%E5%88%B0%E8%A1%8C%E9%A6%96%E7%BB%99%E5%87%BA%20%5EA%20%E6%89%93%E5%8D%B0.png)
在我的 tmux 终端(zsh)上进行远程 ssh 连接,远程 shell 也是 zSH。
[devops@postgres-prod]~% vi /var/lib/pgsql/9.6/etc/postgresql.conf^A0A^A^A^E^A
Ctrl因此它对+ A、Ctrl+没有反应E
答案1
好的,找到问题所在了。
由于某种原因,我默认启用了“vim”模式 zsh。
我必须把以下内容放入~/.zshrc
# Emacs mode
bindkey -e
https://dougblack.io/words/zsh-vi-mode.html
现在一切都按预期进行。
答案2
您可以继续在 zsh 中使用 vim 模式。我在 .zshrc 中使用了这些 bindkey 来解决这个问题:
bindkey "^[[H" beginning-of-line
bindkey "^[[F" end-of-line
您可能发现其他设置也有帮助:
# use vim input mode
set -o vi
bindkey -v
# enable ctrl R to search history
bindkey '^R' history-incremental-search-backward
# enable navigation using Home and End key
#bindkey "${terminfo[khome]}" beginning-of-line
#bindkey "${terminfo[kend]}" end-of-line
bindkey "^[[H" beginning-of-line
bindkey "^[[F" end-of-line
# enable Del key to delete char
bindkey "^[[3~" delete-char
# enable Alt + Bs key to delete word (forward)
bindkey "^[^?" backward-delete-word
# enable Alt + Del key to delete word (backword)
bindkey "^[^[[3~" delete-word