Mac 终端自动完成
Mac Terminal Auto Complete
通常在 Unix/Linux 终端上,当您按 Tab 时,它会自动完成,直到有几个选项,然后它会在下面列出选项供您选择select。例如:
cd he
helpFolder/ helpMe/ heIsThere/
cd help
使用 Mac 终端,它会强制您按两次以查看选项。我想知道是否可以将该设置更改为按 Tab 键?
将此放入您的 ~/.inputrc
:
set show-all-if-ambiguous on
您需要重新启动 shell(例如打开新终端 window 或输入 exec /bin/bash
)。
- 输入终端
nano ~/.inputrc
将以下内容粘贴到不同的行中
set completion-ignore-case on
set show-all-if-ambiguous on
TAB: menu-complete
- 按 Control+O 保存对 .inputrc 的更改,然后按 control+X 退出
- 打开一个新终端 window 或选项卡,或键入“登录”以打开一个新会话并使规则生效
- 键入并按 Tab 键
来源:http://osxdaily.com/2012/08/02/improve-tab-completion-in-mac-os-x-terminal/
您要更改的是 Bash shell 设置。我的OS版本是10.11.6,我用的是mvim,这里只是vim或者vi,如果~/.inputrc不存在,那么你需要新建一个。
- 终端类型
vim /.inputrc
.
需要将 completion-ignore-case 和 show-all-if-ambiguous 变量设置为 ON,将这些设置粘贴到两行即可,set completion-ignore-case on
和 set show-all-if-ambiguous on
添加 TAB: menu-complete
并写入并退出 vim。 :wq
- 退出终端运行,Command+Q。
- 再次启动终端并验证结果。
我正在添加一个新答案,因为在我的情况下添加行 set show-all-if-ambiguous on
是不够的。
我还必须删除以下行:TAB: menu-complete
。
我的完整 ~/.inputrc
文件如下:
set completion-ignore-case on
set show-all-if-ambiguous on
看起来其他评论是针对 bash
而 MacOs 已经移至 zsh
作为默认值 shell。要启用自动完成(包括子命令),将以下行放入 zsh
配置文件 (~/.zshrc
) 对我有用:
autoload -Uz compinit && compinit
通常在 Unix/Linux 终端上,当您按 Tab 时,它会自动完成,直到有几个选项,然后它会在下面列出选项供您选择select。例如:
cd he
helpFolder/ helpMe/ heIsThere/
cd help
使用 Mac 终端,它会强制您按两次以查看选项。我想知道是否可以将该设置更改为按 Tab 键?
将此放入您的 ~/.inputrc
:
set show-all-if-ambiguous on
您需要重新启动 shell(例如打开新终端 window 或输入 exec /bin/bash
)。
- 输入终端
nano ~/.inputrc
将以下内容粘贴到不同的行中
set completion-ignore-case on set show-all-if-ambiguous on TAB: menu-complete
- 按 Control+O 保存对 .inputrc 的更改,然后按 control+X 退出
- 打开一个新终端 window 或选项卡,或键入“登录”以打开一个新会话并使规则生效
- 键入并按 Tab 键
来源:http://osxdaily.com/2012/08/02/improve-tab-completion-in-mac-os-x-terminal/
您要更改的是 Bash shell 设置。我的OS版本是10.11.6,我用的是mvim,这里只是vim或者vi,如果~/.inputrc不存在,那么你需要新建一个。
- 终端类型
vim /.inputrc
. 需要将 completion-ignore-case 和 show-all-if-ambiguous 变量设置为 ON,将这些设置粘贴到两行即可,
set completion-ignore-case on
和set show-all-if-ambiguous on
添加
TAB: menu-complete
并写入并退出 vim。 :wq- 退出终端运行,Command+Q。
- 再次启动终端并验证结果。
我正在添加一个新答案,因为在我的情况下添加行 set show-all-if-ambiguous on
是不够的。
我还必须删除以下行:TAB: menu-complete
。
我的完整 ~/.inputrc
文件如下:
set completion-ignore-case on
set show-all-if-ambiguous on
看起来其他评论是针对 bash
而 MacOs 已经移至 zsh
作为默认值 shell。要启用自动完成(包括子命令),将以下行放入 zsh
配置文件 (~/.zshrc
) 对我有用:
autoload -Uz compinit && compinit