【问题标题】:Mac Terminal Auto CompleteMac 终端自动完成
【发布时间】:2015-09-06 14:53:22
【问题描述】:

通常在 Unix/Linux 终端上,当您按下 Tab 时,它会自动完成,直到出现多个选项,然后它会列出以下选项供您选择。例如:

cd he
helpFolder/ helpMe/ heIsThere/
cd help

使用 Mac 终端时,它会强制您按两次以查看选项。我想知道是否可以将该设置更改为按一次 Tab 键?

【问题讨论】:

    标签: macos terminal


    【解决方案1】:
    1. 在终端输入nano ~/.inputrc
    2. 将以下内容粘贴到单独的行中

      set completion-ignore-case on
      set show-all-if-ambiguous on
      TAB: menu-complete
      
    3. 按 Control+O 保存对 .inputrc 的更改,然后按 Control+X 退出
    4. 打开一个新的终端窗口或选项卡,或键入“login”以打开一个新会话,规则生效
    5. 键入并按 Tab 键

    源:http://osxdaily.com/2012/08/02/improve-tab-completion-in-mac-os-x-terminal/

    【讨论】:

    • 对于尝试此操作的其他人:我在 ~/.profile 中尝试过此操作,但重新启动时出现错误:-bash: TAB: menu-complete: command not found。在 .inputrc 中它运行良好。
    • 如果不明确,是否可以全部显示?现在,当我为空白目录点击两次选项卡时,它没有显示任何内容
    • 使用上面提到的所有三行,我无法让我的终端自动完成,我确实在新窗口中打开了它,但它根本不起作用。任何线索为什么它不起作用?
    • 我在 zsh 上,所以将我的终端更改为使用 bash 并开始工作
    【解决方案2】:

    把这个放在你的~/.inputrc:

    set show-all-if-ambiguous on
    

    您需要重新启动 shell(例如打开新的终端窗口或输入 exec /bin/bash)。

    【讨论】:

    • ~/.inputrc 文件在哪里
    • @Vikas 只需输入 nano ~/.inputrc 或 pico .inputrc 即可对其进行编辑。由于该期间,该文件被隐藏,因此您不会在任何浏览器中看到它
    • 对于那些询问 ~/.inputrc 文件的人:只需打开终端并输入 vim ~/.inputrc
    • @VikasPandey ~/ 等于您当前用户的主目录,是您要存储此类设置文件的位置。
    【解决方案3】:

    我正在添加一个新答案,因为在我的情况下,添加行 set show-all-if-ambiguous on 是不够的。

    我还必须删除该行:TAB: menu-complete

    我完整的~/.inputrc 文件如下:

    set completion-ignore-case on
    set show-all-if-ambiguous on
    

    【讨论】:

    • 这解决了我的问题 +1 与那个标签(它渴望自动完成)
    【解决方案4】:

    您要更改的是 Bash shell 设置。我的操作系统版本是10.11.6,我用的是mvim,这里只有vim或者vi,如果~/.inputrc不存在,则需要新建一个。

    1. 在终端类型vim /.inputrc
    2. completion-ignore-case 和 show-all-if-ambiguous 的变量需要启用,通过将这些设置粘贴到两行中来完成,set completion-ignore-case onset show-all-if-ambiguous on

    3. 添加 TAB: menu-complete 并写入并退出 vim。 :wq

    4. 退出终端运行,Command+Q。
    5. 再次启动终端并验证结果。

    【讨论】:

      猜你喜欢
      • 2019-02-25
      • 2015-10-10
      • 2018-09-07
      • 1970-01-01
      • 2014-03-16
      • 1970-01-01
      • 2021-03-30
      • 2020-08-19
      • 1970-01-01
      相关资源
      最近更新 更多