远程 ZSH 并移动到行首给出 ^A 打印

远程 ZSH 并移动到行首给出 ^A 打印

在我的 tmux 终端(zsh)上进行远程 ssh 连接,远程 shell 也是 zSH。

[devops@postgres-prod]~% vi /var/lib/pgsql/9.6/etc/postgresql.conf^A0A^A^A^E^A

Ctrl因此它对+ ACtrl+没有反应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

相关内容