假设我在目录中有以下文件:
现在假设我输入 a 并点击 TAB。
在 bash 中,它通常工作的完成只会完成 abc 并停止我不得不“解决”下一个符号。因此,如果我输入 1,我将能够使用下一个 TAB 完成 abc123。
在 zsh 中,至少在我的机器上配置它的方式中,它将完成整个变体,在这种情况下是第一个:abc123ABC 并向我展示菜单以将其更改为其他变体。
这通常是好的,但是当有很多文件要完成时,结果很丑陋而且完全没用。通常在这种情况下,通过在“公共”部分后键入几个字符来缩小选择范围会很容易/微不足道。
我喜欢菜单部分,但我真的更喜欢它只完成“常见”部分并在第二个 TAB 或使用菜单上完整完成,但仍然无法通过键入字符或二。
zsh 中是否支持类似的东西?
Chr*_*sen 10
您应该探索compinstall完成定制程序。
autoload -Uz compinstall && compinstall
Run Code Online (Sandbox Code Playgroud)
在我使用的版本 ( zsh 4.3.10) 中,插入明确前缀的选项位于以下菜单中
保存后,将导致以下命令保存到完成自定义文件(通常为.zshrc):
zstyle ':completion:*' insert-unambiguous true
Run Code Online (Sandbox Code Playgroud)
保存后,这将导致以下自定义:
zstyle ':completion:*' menu select=1
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
Run Code Online (Sandbox Code Playgroud)
您可能希望通过添加interactive以下内容来自定义第一个:
zstyle ':completion:*' menu select=1 interactive
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1519 次 |
| 最近记录: |