macOS 安裝 zsh-completions 輸入指令自動完成

macOS 使用 zsh 要自動完成的話要安裝 zsh-completions,macOS Mojave (10.14) 之前的版本預設 shell 是 bash。從 macOS Catalina (10.15.x) 開始使用 zsh 做為預設登入 shell,想要知道你現在用的 shell 是哪種的話可以透過 echo $SHELL 指令來了解,以我的電腦 10.15.7 為例的話

1
2
$ echo $SHELL
/bin/zsh

這表示目前使用的 shell 是 zsh
如何變更預設 shell 可以看這篇 Apple 官方的教學

但是預設 zsh 下輸入指令按 tab 時沒有自動完成的話會很不好使用,所以以下介紹怎麼安裝 zsh 自動完成,
brew 安裝 zsh-completions 指令如下,

1
brew install zsh-completions

安裝最後的畫面如下,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
==> Pouring zsh-completions--0.33.0.all.bottle.tar.gz
==> Caveats
To activate these completions, add the following to your .zshrc:

autoload -Uz compinit
compinit

You may also need to force rebuild `zcompdump`:

rm -f ~/.zcompdump; compinit

Additionally, if you receive "zsh compinit: insecure directories" warnings when attempting
to load these completions, you may need to run this:

chmod -R go-w '/usr/local/share/zsh'

zsh completions have been installed to:
/usr/local/share/zsh/site-functions
==> Summary
🍺 /usr/local/Cellar/zsh-completions/0.33.0: 147 files, 1.2MB

~/.zshrc 添加以下內容

1
2
autoload -Uz compinit
compinit

之後開新的終端機,遇到下面這樣的錯誤訊息需要執行 chmod -R go-w '/usr/local/share/zsh' 可以解決,

1
2
zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?

這樣就搞定囉!開新的終端機試試效果吧!

以上就是 macOS 安裝 zsh-completions 自動完成指令介紹,
如果你覺得我的文章寫得不錯、對你有幫助的話記得 Facebook 按讚支持一下!

其它相關文章推薦
mac 雙螢幕延伸模式的 dock 切換方法
macOS Screen Sharing 用指令開啟螢幕分享
macOS 安裝舊版的 Xcode 版本
macOS 版本升級的方法