ris*_*kio 37 keyboard-shortcuts zsh gentoo
上次系统更新后,zsh终端上的ctrl + 左/右箭头命令不执行任何操作。另外 ctrl+ u 有问题,因为通常该命令擦除从光标到行首,而现在擦除整行..有人知道如何解决这些问题吗?谢谢你们。
小智 66
FWIW,这是使用 zsh 的默认值在我的环境(rhel5.x)上工作的。
bindkey "^[[1;5C" forward-word
bindkey "^[[1;5D" backward-word
Run Code Online (Sandbox Code Playgroud)
Tor*_*xed 18
Ctrl+U很可能是因为光标位于行尾。其次,您将哪个版本的 Gentoo 称为“最后一次系统更新”?
你希望 ctrl+left/right 做什么?
添加到 zsh 配置:
bindkey '^[[1;5C' emacs-forward-word
bindkey '^[^[[D' emacs-backward-word
Run Code Online (Sandbox Code Playgroud)从我发现的旧废料中(可能有帮助):
bindkey ";5C" forward-word
bindkey ";5D" backward-word
Run Code Online (Sandbox Code Playgroud)或者看看这个链接,这应该对你有帮助吗?
注意:如果配置有效,但假定的键不能满足您的要求,可能是因为键定义与您和我的不同,请执行以下操作:
cat > /dev/null
Run Code Online (Sandbox Code Playgroud)
并按下您想要输出的键并进行相应调整。
什么工作不直接取决于发行版(Gentoo、Debian、RHEL 等)或 shell(ZSH、KSH、BASH)——它取决于使用的terminal emulator
是哪个及其设置:konsole、终止符、urxvt、lx-terminal等等。如果发行版使用不同的标准外壳配置(fx..zshrc),并且如果使用不同的外壳,该发行版上的外壳配置可能已经处理它,发行版可能很重要。
以下是一些特定于终端模拟器的解决方案:
urxvt/rxvt-unicode(也许还有其他):
bindkey "^[Od" backward-word
bindkey "^[Oc" forward-word
Run Code Online (Sandbox Code Playgroud)
终结者、konsole 和 xterm(也许还有其他):
bindkey "^[[1;5D" backward-word
bindkey "^[[1;5C" forward-word
Run Code Online (Sandbox Code Playgroud)
对于更通用的方法,您启动终端,按 CTRL-V 后跟您想要转义码(名称)的组合键 - 在本例中为组合键 CTRL-leftarrow 和 CTRL-rightarrow - 并为每个输入输出两个引号之间的组合键。