什么是 completion?
completion 是指在命令行中输入命令时,自动补全建议的功能,即双击 Tab 键显示的提示效果。例如 Linux 中经常使用的 systemctl 命令大部分情况下都会 systemctl res 然后双击 Tab 键就完成了输入,这就是 completion。
很多工具都支持自动补全,如果在 bash 中无法使用,可能是该工具没有生成 completion 脚本或者 bash 环境没有读取到相关工具的自动完成脚本。
一般命令行工具都会提供 completion 脚本,如果没有,也可以生成(具体看相关工具是否支持)。
Windows 下 git bash 的自动补全脚本位置在 ~/bash_completion.d/ 目录(该目录是 Git Bash 自动读取的,不需要任何配置),里面的文件必须以 .bash 后缀结尾。当然熟悉 Git 后也可以自行修改 Git 配置,带不带后缀都可以读取。本文以默认为主。
deno
先以 deno 为例,假如现在在 Windows 上刚安装的 deno 或者已经安装的,但是 bash 中输入 deno in,然后双击 Tab 键,此时没有任何提示,那么就是没有相应的自动完成的脚本。
# 生成 bash 类型的 completion 脚本到 ~/bash_completion.d 目录中
# 文件名为 deno.bash
deno completion bash > ~/bash_completion.d/deno.bash
然后重新打开 Git Bash,再次输入 deno in,然后双击 Tab 键。有此一例,其它就简单多了。
vfox
下载 vfox,如果是压缩包形式的话需将其安装位置添加到 path 变量中,打开 Git Bash,生成 vfox 自动补全脚本:
vfox completion bash > ~/bash_completion.d/vfox.bash
重启 Git Bash 即可使用。

说些什么吧!