AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 109207
In Process
sanity
sanity
Asked: 2010-02-04 07:57:12 +0800 CST2010-02-04 07:57:12 +0800 CST 2010-02-04 07:57:12 +0800 CST

如何使 zsh 完成更像 bash 完成?

  • 772

我最近从 bash 转换为 zsh(我正在使用“oh my zsh”),但有一件事让我很恼火:

当我点击 tab 键时,第一个自动补全会自动填写,您需要通过反复点击 tab 来循环完成。

这与 bash 不同,在 bash 中,您只会看到一个完成列表。如果所有补全具有相同的前缀,则填写此前缀。您可以通过继续键入来选择您想要的。

我发现后者更可取,因为它比通过反复点击选项卡来选择完成更快。

有没有办法让 zsh 完成在这方面更像 bash?

zsh
  • 2 2 个回答
  • 11011 Views

2 个回答

  • Voted
  1. Eyal
    2012-11-12T04:21:08+08:002012-11-12T04:21:08+08:00
    setopt noautomenu
    setopt nomenucomplete
    

    你需要他们两个。如果您按 Tab 的次数足够多,您将获得完成列表,但它永远不会在您迄今为止输入的内容中添加任何字符。

    • 24
  2. Dennis Williamson
    2010-05-31T06:33:12+08:002010-05-31T06:33:12+08:00

    我不认为这是默认行为,但您可以使用以下方法将其关闭:

    setopt +o menucomplete
    

    以不同方式影响此行为的其他设置包括:autolist、automenu、bashautolist、listambiguous。有关详细信息,请参阅“完成”部分man zshoptions。您可以将此命令添加到您的~/.zshrc文件中。

    您可以通过执行以下操作以交互方式配置许多其他内容:

    autoload -U compinstall
    compinstall
    

    并按照提示和菜单进行操作。

    在 Bash 中,这种行为是通过绑定Tab到complete或menu-completein来控制的~/.inputrc:

    "\C-i": complete   # do list completion
    

    或从 shell 提示符或在~/.bashrc:

    bind '"\C-i": menu-complete' # do menu completion
    
    • 8

相关问题

  • zsh 彩色文件目录

  • 无法理解 Zsh 的 autopushd 的好处

  • 如何在 Zsh 中为数组的每个元素添加一个单词?

  • 无法让 Zsh 不建议修复别名

  • bash 与 zsh 相比的独特功能

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve