gpt4 book ai didi

linux - 自定义 zsh 自动完成

转载 作者:太空狗 更新时间:2023-10-29 11:09:14 27 4
gpt4 key购买 nike

我决定试试 zsh。首先,我将描述目前的工作方式,然后我将描述我希望它们如何工作。

假设我在当前文件夹中有 2 个子文件夹,第一个是“文档”,第二个是“下载”。

  1. 如果我输入“cd D”并按 TAB,它将自动完成“Do”。

  2. 再按一次TAB,会自动补全“Documents”。

  3. 再次按 TAB,它将自动完成“下载”。

  4. 再次按 TAB 键,它将自动完成“Documents”(我很欣赏这里它不会像 Bash 那样返回到“Do”)。

  5. 此时我必须按两次 Enter 才能更改目录。 (第一个 Enter 选择“Documents”,第二个 Enter 执行命令)。

我希望 zsh 表现如何:

  1. 如果我输入“cd D”并按 TAB,我想使用“文档”自动完成。
  2. 再次按 TAB 键,应该会自动完成“下载”。
  3. 再次按 TAB 键,应该自动完成“文档”。
  4. 按一次 Enter,目录应更改为“Documents”。

我该怎么做? :-)

最佳答案

哇,一年了,还没有回复。我希望您能找到方法,但对于可能通过搜索遇到此问题的其他人...

首先确保你已经用这一行加载了完成模块

zmodload zsh/complist

然后您可以在 menuselect 期间将 Enter,又名 ^M 绑定(bind)到函数 accept-line - 这是正常行为 - 但通过在它前面加上一个点,如果强制它在函数执行之前离开 menuselect 模式

bindkey -M menuselect '^M' .accept-line

关于linux - 自定义 zsh 自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22224646/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com