本文介绍 zsh 使用。
函数
自动补全
简而言之,在.zshrc
中写入以下内容,更多信息参见 延伸阅读:
例如,要添加 hugo 的补全功能:
hugo completion zsh > $(brew --prefix)/share/zsh/site-functions/_hugo
zsh-completions
通过 zsh-completions 安装更多补全脚本:
brew install zsh-completions
根据提示更新 FPATH
:
FPATH=$(brew --prefix)/share/zsh-completions:$FPATH
目录权限问题
如果启动终端时出现如下提示:
zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?
输入 compaudit 进行诊断,会列出不安全的目录列表,这些目录权限过高,需要将用户组写权限去掉。
例如:
$ compaudit
There are insecure directories:
/usr/local/share/zsh-completions
执行下面的语句修复:
chmod g-w /usr/local/share/zsh-completions
延伸阅读
- 关于
fpath
请看 how-to-define-and-load-your-own-shell-function-in-zsh - 通过
man zshbuiltins
查看autoload man page
了解autoload
更多信息。 - 关于
-Uz
参数看这里 What is the difference betweenautoload
andautoload -U
in Zsh? - 关于 zsh 补全功能参见官方文档 zsh Completion System。
评论