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
2autoload -Uz compinit
compinit
之後開新的終端機,遇到下面這樣的錯誤訊息需要執行 chmod -R go-w '/usr/local/share/zsh'
可以解決,1
2zsh 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 版本升級的方法