它是什么意思,我该如何解决?
zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?
Run Code Online (Sandbox Code Playgroud)
运行compaudit
返回如下:
There are insecure directories:
/usr/local/share/zsh/site-functions
Run Code Online (Sandbox Code Playgroud) 我一直在使用oh-my-zsh一段时间,最近停靠插件因为某些原因停止了为我工作.
我检查了我的〜/ .zshrc文件,包含插件
plugins=(git colored-man colorize github jira vagrant virtualenv pip python brew osx zsh-syntax-highlighting docker)
我检查了~/.oh-my-zsh/plugins/docker
目录,那里有一个_docker
文件.然而,当我输入docker
并按Tab键时,我得不到我曾经获得的自动完成快捷方式.
我可以确认我的git
插件工作得很好但不是docker
插件.尝试做exec zsh
并source ~/.zshrc
重新启动我的终端但没有运气.
我错过了什么吗?
Git的选项卡自动完成对于小型项目非常有用,但我目前正在开发两个使用git的大项目,而这些项目比无用更糟糕.比方说,每当我键入时,git add forms<tab>
git需要20秒或更长时间才能找到文件(在本例中为forms.py),在这个时间段内,我无法在终端中执行任何其他操作.有没有办法关闭自动完成功能,或以某种方式使其更快?
我在OS X Mountain Lion上运行包含的ZSH shell(4.3.11),并在顶部安装了Oh-My-ZSH.
当使用诸如homebrew之类的命令使用制表符完成时,当ZSH列出可用命令时,它也复制命令.例如:
$ brew {tab}
Run Code Online (Sandbox Code Playgroud)
将导致:
$ brew brew
[list of homebrew commands]
Run Code Online (Sandbox Code Playgroud)
我不确定是什么导致了这个错误,因为当我调整终端窗口的大小时,命令名的第一个实例消失了.
如果我在显示重复项时按下退格键,我只能删除命令的第二个实例,zsh不会让我再退格.此外,如果我使用退格键删除副本,则zsh就像没有输入任何命令一样.
我的.zshrc以及我的所有其他.configuration文件可以在https://github.com/daviesjamie/dotfiles找到
更新:我发现这篇文章是关于Ubuntu上有同样问题的人.但是,我不明白给定的解决方案,我甚至不确定它是否适用于我的设置?
如何设置Z shell,以便键入cd - 为您提供以前访问过的路径列表,然后cd -1,-2,-3等会将您带到目录?
我是新来的zsh
.
我已经使用这里提到的说明zsh-autosuggestions
在oh-my-zsh中安装了插件.我正在使用Linux(Fedora 26).
我的问题是我想改变建议中的文字颜色,因为当前的文字在Solarized深色配色方案中是看不到的.
它以浅色主题可见
它工作正常,因为我可以通过按键选择当前的建议→.
我的问题是如何更改此建议的文字颜色?我在这里读到有一个常数ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE
,但是我无法在~/.zshrc
文件和$ZSH_CUSTOM/plugins/zsh-autosuggestions
目录中找到它.
任何人都可以告诉我在哪里可以找到它,我该如何改变它?另请注明适合暗色和浅色主题的颜色.
如果我出错了,请纠正.
问候.
我编写了一个使用子命令的命令行工具,就像Mercurial,Git,Subversion&c.一样,它的一般用法是:
>myapp [OPTS] SUBCOMMAND [SUBCOMMAND-OPTS] [ARGS]
Run Code Online (Sandbox Code Playgroud)
例如
>myapp --verbose speak --voice=samantha --quickly "hello there"
Run Code Online (Sandbox Code Playgroud)
我现在正在为它建立Zsh完成,但很快发现它是一个非常复杂的野兽.我已经看过了_hg
和_git
完成但是它们非常复杂并且在方法上有所不同(我很难理解它们),但两者似乎分别处理每个子命令.
有谁知道,如果有使用内置函数的方式(_arguments
,_values
,pick_variant
&C)正确处理子命令的概念,包括妥善处理常规选项和子命令特定的选项?或者最好的方法是手动处理一般选项和子命令?
一个非常好的例子将非常感激.
非常感谢.
无论我尝试做什么,我似乎无法在我的zsh shell中进行git tab/auto completion工作.我已经下载了bash-completion脚本和zsh-completion脚本,并按照说明操作,但我无法使其工作.
我重新安装了oh-my-zsh,但似乎没有帮助或有任何区别.
任何能够让它工作的人都可以向我描述他们的设置,这样我就可以尝试模仿它以使其适合我吗?
具体来说,到目前为止我所做的是:
~/.completion/git/git-completion.sh
~/.zsh/_git
zstyle ':completion:*:*:git:*' script ~/.completion/git/git-completion.sh
没运气.
我见过很多
人这样做而其他人这样做
我想知道其中的区别.我应该使用哪一个?
autoload -Uz compinit
compinit
autoload -U compinit
compinit -i
我试图编写一个将其他Shell实用程序包装到单个CLI中的Shell脚本实用程序,并试图使Shell完成在zsh和bash中工作。
例如,假设CLI名为util
:
util aws [...args] #=> runs aws
util docker [...args] #=> runs docker
util terraform [...args] #=> runs terraform
Run Code Online (Sandbox Code Playgroud)
理想情况下,我想要的是zsh和bash补全中的一种方式,它能够独立于包装脚本的补全实现说“像其他命令Y一样完成此子命令X”。
就像是:
compdef 'util aws'='aws'
compdef 'util docker'='docker'
compdef 'util terraform'='terraform'
Run Code Online (Sandbox Code Playgroud)
扩展目标将是允许对另一个二进制文件中的子命令完成任意子命令:
util aws [...args] #=> completes against `aws`
util ecr [...args] #=> completes against `aws ecr`
Run Code Online (Sandbox Code Playgroud)
有可能吗?我一直在尝试模拟单个二进制文件的完成脚本,但是在编写其他完成脚本的方式上有很大的不同。
zsh ×10
zsh-completion ×10
oh-my-zsh ×3
bash ×2
git ×2
zshrc ×2
autocomplete ×1
completion ×1
git-bash ×1
linux ×1
macos ×1
shell ×1