问题标签 [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.
zsh - Git Repo 目录中的 Zsh 慢
我正在使用 zsh shell,在 Git Repo 的目录中运行任何命令(例如 'ls' 'cd' )变得非常缓慢。在 bash 中,它工作得又快又好。我还注意到 shell 的标题显示“git”,旁边有旋转轮。似乎在执行“ls”、“cd”之后调用了“git”,并没有将控制权交还给它,并且变得非常缓慢……而且很痛苦:)
我升级了最新的Git 2.1.2,zsh 5.0.7。我在 Mac 10.9.2 上
您将如何对 zsh shell 进行故障排除?谢谢你的帮助
macos - OSX 上的 ZSH:cd ~ 和 ~/ Tab 补全问题
目前在 OSX (10.10.3) 上使用 ZSH 和 prezto,我遇到了标签完成问题。在键入以下任一内容后,我总是能够按 Tab 键:
我会得到一个目录菜单,其中包含我的用户主文件夹的内容。
出于某种原因,在点击标签后我得到:
这是键入cd ~/
并按 Tab的结果
我尝试禁用 autonamedirs 和 cdablevars。还重新安装了 prezto 并尝试使用 /usr/local/bin/zsh 这是 homebrew 安装的最新 zsh。
非常感谢一些帮助,谢谢
编辑 #1
分离输出并在下面添加 prezto 配置。
.zpreztorc
哪个_cd
zsh - 提供 zsh 完成选项的描述?
我正在完成我拥有的 shell 程序,我希望能够为完成提供元数据描述
例如
而如果选择了“foo”,那么补全的结果会选择“foo”
不确定如何执行此操作或查看哪些功能?有没有人有什么建议?
git - git 添加自动完成文件名
我正在做一个 git 项目。由于我有很多文件夹深度,我想改进我的自动完成以使用文件名而不仅仅是路径。
这是一个例子:
我显然必须添加一个文件:
git add app/src/main/java/fr/pasteque/client/BaseFlavor.java
但我希望能够写:git add BaseFlavor.java
git add **/BaseFlavor.java
作品!
但是完成,就像git add **/Base<tab>
,不..
任何想法如何完成?
提前致谢!
zsh - Zsh:如何在一组字符之后强制文件完成?
我试图弄清楚如何word
在一组字符之后让文件完成在命令行的任何位置工作。如 shell 中所列,这些字符将是[ =+-\'\"()]
(空格是制表符和空格)。Zsh 会这样做,但只能在反引号字符 '`' 或$(
. mksh 执行此操作,除非不在 characters 之后[+-]
。
通过命令行上的单词位置,我说的是您输入的每组字符,这些字符由空格和一些其他字符分隔。例如,
print Hello World
,
words
在位置 1-3有3 个。在位置 1,当您第一次输入内容时,完成非常完美。在我提到的所有字符之后,文件完成工作。在第一个之后word
,完成系统变得更加智能,因为它变得更加智能。这对命令很有用,但限制文件完成的位置并不是特别有用。
以下是文件完成对我不起作用但我认为应该的一些示例:
: ${a:=/...}
echo "${a:-/...}"
make LDFLAGS+='-nostdlib /.../crt1.o /.../crti.o ...'
env a=/... b=/... ...
我已经查看了'^I'
使用 Zsh 附带的几个不同的完成小部件重新绑定(选项卡)并更改了我的zstyle ':completion:*'
行。到目前为止,没有任何工作可以改变这个默认的 Zsh 行为。我在想我需要创建一个完成功能,我可以将其添加到zstyle ':completion:*' completer ...
行尾作为最后的完成。
在完成功能中,一种方法是剪掉word
我想要完成的当前,完成它,然后如果可能的话,将完成重新插入到行中。它也可能更像_precommand
是将第二个转移word
到第一个word
,以便正常的命令完成工作。
我能够进行修改_precommand
,以便您可以在任何word
位置完成命令。这是新文件,我将其命名_commando
并将其目录添加到我的 fpath 中:
为了使用它,我将它添加到':completion:*' completer ...
我的 zshrc 中的行尾,以便它适用于$path
. 基本上word
,您输入的任何内容都被视为 first word
,因此命令完成在word
命令行的每个位置都有效。
我试图找出一种方法来完成文件完成,但乍一看它看起来有点复杂。我真的不知道该去哪里,所以我希望得到一些帮助。
zsh - Zsh CASE_SENSITIVE 什么都不做
我用区分大小写的文件系统安装了我的 Mac。
一切都很好,除了 Zsh 不像以前那么流畅。我已经确认 Oh-My-Zsh 变量在.zshrcCASE_SENSITIVE
中被注释掉了,但是在使用选项卡自动完成时仍然无法找到不同情况的文件夹。
我已确认CASE_SENSITIVE
未设置:
这是一个错误,还是我只是错过了什么?
zsh - zsh 完成 - 列出某些 mime 类型的文件
我正在为图像查看器应用程序编写一个自动完成脚本。有没有办法指定只列出目录中具有特定 mime 的文件?即,所有类型的 mime image
。
我现在在做什么:
_arguments -C \
... # Handle flags
'*:images:_files -g "{*.jpg,*.png}"'
为所有图像类型扩展它会有点混乱。
zsh - 填写表格选项——
我正在尝试为 fsharpi(F# 交互式)编写一个完成方法,它具有如下选项:
我猜这必须使用$state来处理,类似于sub-commands,但是文档是单一的,并且语言不是很具有描述性,所以我没有通过实验和拼接不同的示例来获得任何结果。
对此的解决方案也适用于 aspell,它使用等号而不是冒号,例如
mercurial - zsh中mercurial的分支名称自动完成
我对 zsh 感到非常兴奋,但我遇到了一个大问题。
自动完成对hg update
我不起作用。我确实zsh_completion
在我的文件中包含了文件(来自最新的 mercurial 源),.zshrc
如下所示(移动到主目录后):
但这似乎不起作用。我打字hg up def<tab>
,但没有完成。
我也试过rm -f ~/.zcompdump; compinit
了,也没有用。我正在使用zsh 5.1.1 (x86_64-apple-darwin15.0.0)
和oh-my-zsh
。
我的实际.zshrc
:
zsh-completion - 长列表的 zsh 完成 last_prompt 行为
我目前使用以下配置我的 zsh 选项卡完成:
我喜欢这个的是:
- 明确的完成立即完成
- 模棱两可的补全被尽可能地扩展(标签的第一次罢工)并且歧义被列出给我(第二次罢工)
- 进一步点击标签(列表出现后再点击一个标签)我通过菜单选择,即提示停留在歧义列表上方,其中一个被突出显示并插入到提示中,然后进一步点击标签,我转到下一项。即使在无法显示歧义列表的情况下,提示下方的列表也会滚动。
我不喜欢的:
- 如果列表太长而无法显示,它首先会被完全打印出来,提示最终会出现在列表下方,只有在下一个笔划时,我才会再次出现在终端顶部以进行菜单选择模式。
所以我想将行为更改为:
- 明确的完成立即完成
- 模棱两可的补全被尽可能扩展(第一次敲击选项卡),歧义总是在提示下方列出,即使列表太长而无法完全显示(无论是第一次还是第二次敲击都无关紧要)
- 进一步点击标签(列表出现后再点击一个标签)我通过菜单选择,即提示停留在歧义列表上方,其中一个被突出显示并插入到提示中,然后进一步点击标签,我转到下一项。即使在无法显示歧义列表的情况下,提示下方的列表也会滚动。
一个关键方面是歧义列表在第一个插入提示之前显示。否则我已经可以使用