Zsh - 换行后不能退格
Zsh - can not do backspace after new line
我正在使用 zsh(不是我的 zsh)。后退按钮有效,但它只适用于同一行。如果我有一个新行(比如如果我点击向上箭头并带回最后一个命令),后退按钮将不会转到上一行。
我正在使用 vim 键绑定。有什么解决办法吗?
bindkey -v
bindkey '^R' history-incremental-search-backward
bindkey "^[[A" history-search-backward
bindkey -v '^?' backward-delete-char
不清楚您所说的 "Back" 按钮是什么意思。您正在显示 Ctrl-R、向上光标和 Ctrl-? 的绑定。 Ctrl-?可以通过 Backspace 或 Delete 产生,具体取决于您的终端。
你想用最后一个绑定中的 -v
选项实现什么?您已经选择了 vi 模式。要在 vi 命令模式键盘映射中绑定一个键,请使用 -a
.
所以你可能想要的是:
bindkey -a '^?' backward-delete-char
在行首停止的退格键与实际的 vi 行为一致。 Vim 的行为更像是以下内容:
bindkey -a '^?' backward-char
我正在使用 zsh(不是我的 zsh)。后退按钮有效,但它只适用于同一行。如果我有一个新行(比如如果我点击向上箭头并带回最后一个命令),后退按钮将不会转到上一行。
我正在使用 vim 键绑定。有什么解决办法吗?
bindkey -v
bindkey '^R' history-incremental-search-backward
bindkey "^[[A" history-search-backward
bindkey -v '^?' backward-delete-char
不清楚您所说的 "Back" 按钮是什么意思。您正在显示 Ctrl-R、向上光标和 Ctrl-? 的绑定。 Ctrl-?可以通过 Backspace 或 Delete 产生,具体取决于您的终端。
你想用最后一个绑定中的 -v
选项实现什么?您已经选择了 vi 模式。要在 vi 命令模式键盘映射中绑定一个键,请使用 -a
.
所以你可能想要的是:
bindkey -a '^?' backward-delete-char
在行首停止的退格键与实际的 vi 行为一致。 Vim 的行为更像是以下内容:
bindkey -a '^?' backward-char