是否可以配置 Z shell 的 vi 模式,以便退格键可以删除插入操作开始位置之前的字符?
基本上可以通过添加以下行来实现 vim 的行为 ~/.vimrc
set backspace=start
Run Code Online (Sandbox Code Playgroud)
– 是否可以在 Z shell vi 模式下使用它?
您可以将其添加到您的 zsh 配置中:
bindkey -M viins '^?' backward-delete-char
bindkey -M viins '^H' backward-delete-char
Run Code Online (Sandbox Code Playgroud)
Vi-mode只是一组预配置的键映射(viins、vicmd、viopp、visual),将某些键绑定到某些小部件。其中一些小部件专门设计为与vi编辑器的行为方式接近。
在你的情况,这是vi-backward-delete-char
这是默认绑定到窗口小部件Backspace在viins模式,它具有特定的功能,不删除过去为进入插入模式的位置。
这些widged 的版本通常略有不同,它们的行为更符合emacs编辑器。在这种情况下,它将是backward-delete-char
小部件,它不限于当前插入会话。尽管默认绑定在emacs-mode 中,但对于可以在哪种模式下使用哪个小部件没有硬性限制。您可以通过简单地重新绑定来调用小部件来backward-delete-char
在vi 模式中使用。Backspacebackward-delete-char
有两个绑定的原因 -^?
而且^H
- 是它取决于终端,这两个键序列中的哪一个是在按下 时发送的Backspace。默认情况下,两者都绑定到vi-mode和emacs-mode 中的同一个小部件。
归档时间: |
|
查看次数: |
380 次 |
最近记录: |