问题标签 [zsh-completion]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - 如何修补缺少 difftool 命令的 git 完成
我的系统的 git 自动补全非常好,但缺少至少git difftool
和git diffmerge
. 我的意思是,如果我git diff<TAB>
在提示符下输入,我会得到以下内容:
看?没有difftool
或diffmerge
那里。我必须将它们全部输入到最后才能使用它们,或者创建一些我不想要的 git 别名。
有没有办法修补默认的 git 完成配置以添加对这两个命令的支持?默认的 git 完成脚本在哪里?我可以修改它,或者更好的是,用我自己的.zshrc
或其他东西修补它,这样我就不必弄乱系统原来的东西了?
如果有人想知道,我在 Mac Lion 上使用 zsh 4.3.11 并安装了最新的 oh-my-zsh。我的 git 是从 homebrew 安装的,它的版本是 1.8.0.1。
zsh - Zsh 制表符补全为目录添加正斜杠,如何避免这种情况?
目前我正在使用 zsh ,每次我对目录使用制表符完成时,它都会在末尾添加一个正斜杠。这在使用诸如 rsync 之类的命令时会产生问题,该命令会区分具有正斜杠的目录参数。所以每次我使用制表符完成时,我都需要返回并删除正斜杠。
zsh - 从文件中生成 zsh 完整参数
zsh
很棒,但它的完成系统非常多样化。而且文档缺乏很好的例子。是否有用于完成特定应用程序的模板。完成将从文件中获取其匹配数据,用换行符分隔?
我尝试修改我的一个旧示例,该示例采用“实时”匹配数据:
我可以cat my_file
在那里提供而不是mpc
调用等等,但是会有更优雅的方式来完成这个简单的任务吗?并且该完成是特定于放置的:您能否提供一个示例,在该示例中 zsh 将在程序名称被识别后的任何时候尝试完成?
匹配数据将有空格等,完成应该转义 WS。例子:
现在,如果要为命令配置完成Say
,我们应该得到这种行为zsh
:
zsh - 编写 ZSH 自动完成功能
我最近写了一个方便的 Zsh 函数,它可以创建一个不带参数的新 tmux 会话。如果提供了参数并且会话已经存在,则附加它。否则,将使用提供的名称创建一个新会话。
这很好用,但我想为它添加自动完成功能,所以当我点击 tab 键时,它会为我列出当前会话。这是我到目前为止所拥有的:
当我点击选项卡时,它会列出会话名称,但它不允许我在它们之间切换。我错过了什么?
zsh - 完成:多个类似的选项
--with-PROG=
我想为一个接受和--PROG-options
作为可选参数的程序编写完成。PROG
可能是不同的程序之一。有许多不同的程序,所以我想避免手动为每个程序写出一个选项。我确实尝试了以下方法:
输出:
但是,我希望将每个单独的选项放在单独的行上,并替换PROG
为程序名称。最好的方法是什么?
shell - zsh 根据一个参数补全
我是一个非常高兴的 zsh 用户,特别感谢它的完成子系统。最近我正在尝试增强一些完成命令,尤其是那些我经常使用的命令(例如 rm)。在 zsh 中执行以下命令:
使 zsh 按预期完成当前目录的文件。我想要做的是让 zsh 完成以下变体:
只有目录。
任何知道如何参数完成以考虑(-r)参数的zsh Guru?
bash - 在 zsh 中使用 bash complete -C
zsh bash 完成是否支持complete -C 'custom command for completion' command
?
我之前在脚本中编写了一个 bash 完成功能,我使用
我希望使用 zsh 的同事能够使用补全,因此我尝试使用这样的 .zshrc 文件进行测试,以实现 bash 补全兼容性:
当我尝试使用此完成时,看起来 zsh 正在调用完成脚本而没有参数 bash 使用(firstword、current_word、previous_word)调用它。
我在 Mac 上使用自制安装的 zsh:
macos - Git别名参数完成在Zsh中不起作用
对于某些特定的 git 命令(涉及远程和分支的命令),我遇到了 Zsh 自动完成的问题,但仅限于使用别名时。
这是一个例子push
:
pull
和也会出现同样的问题fetch
。
我.zshrc
可以在这里找到,但我不认为它是相关的,因为我能够在不使用它的情况下重现问题(只需使用 启用自动完成autoload -U compinit && compinit
)。
我正在使用以下软件版本运行 OSX 10.9(它们都通过 安装brew
):
自从我进行了 OSX 10.9 全新安装后,就出现了这个问题。所以我认为它来自 Zsh 或 Git 的最新更新。
shell - zsh 函数参数的标准 zsh 补全
如果我键入以下内容,record
zsh 函数在哪里
record ls
record
如果我写,我该如何写一个 zsh 完成
record ls -
它将使用 zsh 完成 ls 例如
记录功能:
编辑 time
并/usr/bin/time
似乎这样做,例如
如果我这样做time ls -<tab>
会给我ls
完成,我如何为我自己的功能做到这一点?
shell - 我该怎么用!ZSH 脚本中的扩展?
我想写一个函数,让它更容易使用上一个命令的参数,比如!:1
. 我在 bash 中读过这可以通过以下方式完成:
那么我怎样才能编写一个可以访问的 zsh 函数!:1
呢?