shell - zsh 可以完成命令标志吗?

标签 shell command-line zsh flags zshrc

有没有办法让 zsh 在命令行上完成长标志名称?

$ command --reall<tab> 
$ command --really-long-flag-name

看起来像是一件很害羞的事情。

最佳答案

简短的回答是肯定的,或者当然可以。

要打开 zsh 的补全系统,您需要执行以下操作 - 可能在像 ~/.zshrc 这样的启动文件中:

autoload -U compinit && compinit

在大多数现代类 Unix 系统上,一旦执行此操作,您应该会发现许多命令已经完成了其标志和参数,因为 zsh 附带了常见 Unix 命令和实用程序的完成函数库。该库应该安装在像 /usr/local/share/zsh/function (或类似的位置,具体取决于您的系统)的位置,并且由一堆文件名以 开头的脚本组成>_ 字符,每个字符定义特定命令的完成。

如果 zsh 尚未正确完成您感兴趣的命令或实用程序,您有多种选择:

  • 查看 zsh-completions包裹。 (它很可能可以通过您的操作系统或发行版的包管理器安装。)

  • 阅读您希望完成的工具的文档。许多 Unix 实用程序附带了 bash 和/或 zsh 的完成脚本,或者带有某种生成完成脚本的方法。

  • 如果其他方法都失败,请阅读documentation on zsh’s completion system (或者找到一本好书或在线教程)并自己编写。显然,这并非易事!

阅读 zsh 文档可能还会向您展示如何执行您可能还不知道的其他操作,例如打开基于菜单的完成功能。

关于shell - zsh 可以完成命令标志吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36020010/

相关文章:

linux - readlink -f 带空格

python - 如何匹配引号之间字符串中的精确字符串

linux - shell脚本中的$SHELL破坏代码执行

shell - ZSH 搜索函数定义

shell - $$在shell中是什么意思?

java - 如何在Windows命令行中正确设置类路径

python - 在 PyInstaller 中是否有一个内置函数来保持命令窗口打开

php - 如何在 PHP shell_exec 中设置命令行环境变量

shell - ZSH 在打开应用程序选项卡自动完成时挂起

Python Virtualenvwrapper 的 "workon"和 Zsh