3

在我的 bash shell 中,当我的光标位于文本之间,并且我点击Tab时,它会自动完成文件名,当我点击 时Enter,它会在光标处插入完成,并且光标之后的所有内容都会保留,例如

  $ cp foo.ba¦r.baz.py 
             ^  <== cursor position

按下Tab键,现在我看到了:

  $ cp foo.bar.baz.py¦r.baz.py
                     ^ <== cursor position

我喜欢这种行为,尤其是在执行mvorcp并且想要修改原始文件名时。我怎样才能让zsh做同样的事情?

4

2 回答 2

3

使用expand-or-complete-prefix,将其添加到您的.zshrc文件中:

bindkey '^i' expand-or-complete-prefix

阅读此页面以获取有关zsh完成的更多详细信息。

于 2013-02-15T17:52:53.130 回答
1

或者,您可以在 zshrc_prefix中的命令末尾添加控制功能zstyle ':completion:*' completer,因此它看起来像这样:

zstyle ':completion:*' completer _force_rehash _complete _list _match _prefix

您还需要启用completeinword此功能:

setopt completeinword

这样你就不会像绑定那样被迫使用扩展expand-or-complete-prefix

于 2015-09-23T06:06:30.123 回答