在 zsh 中使用旧 .inputrc 中的自定义命令?

在 zsh 中使用旧 .inputrc 中的自定义命令?

我以前使用 bash 时曾经遇到过这种情况.inputrc,但它在 ZSH 中不起作用,因为 ZSH 不会读取 .inputrc(据我所知):

$if Bash
  # Meta+O can be made to load the previous 
  # command and position the cursor for typing an option
  "\eo": "\C-p\C-a\ef "

这是我在 bash 时代唯一怀念的东西。有没有办法将此命令移植到 ZSH?我尝试了一些 bindkey 技巧,但收效甚微。

答案1

没错,它zsh有自己的行编辑器(ZLE)并且不会读取readline.inputrc

尝试:

# define widget function
function cursor-after-first-word {
    zle up-history
    zle beginning-of-line
    zle forward-word
    RBUFFER=" $RBUFFER"
}

# create widget from function
zle -N cursor-after-first-word

# bind widget to ESC-o
bindkey '^[o' cursor-after-first-word

看看man zshzle还有什么可能。

相关内容