Zsh具有以下用于Man的键盘快捷键

Esc + h

我想要类似的键盘快捷键来获取信息,例如

Esc + i

如何为Info制作这样的键盘快捷键?

最佳答案

这应该可以解决问题:

function run_info() {
  # Prepend "info" to the command line and run it.
  BUFFER="info $BUFFER"
  zle accept-line
}

# Define a widget called "run_info", mapped to our function above.
zle -N run_info

# Bind it to ESC-i.
bindkey "^[i" run_info


只需将其剪切并粘贴到外壳中即可试用,然后添加到您的.zshrc中以产生永久效果。

解释一下代码:一般的想法是,我们首先定义一个名为“ run_info”的小部件,该小部件使用具有相同名称的函数来实现。它使用命令行缓冲区并将“ info”添加到开头。然后,它接受命令行(与按Enter相同)。最后,该小部件将映射到键盘快捷方式。

您可以阅读zshzle(1)手册页以获取有关该工具如何工作的更多信息。

07-24 13:30