问题标签 [zshrc]
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.
zshrc - 匹配器列表参数如何在 zsh zstyle 完成中工作?
我正在尝试配置我的 ~/.zshrc 以便文件/目录上的代码完成工作,因为我需要它。我在网上找到了关于 zstyle 补全语法和代码示例的各种资源,但其中的某些部分对我来说仍然是黑魔法。
到目前为止,经过一些摆弄和测试,这就是我所在的位置:
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'm:{a-zA-Z}={A-Za-z} l:|=* r:|=*'
这是我从中了解到的:
zstyle ':completion:*'
意味着我们要为完成定义一个配置值matcher-list
是我们更新的配置,这里它定义了 zsh 如何匹配文件/目录来建议'm:{a-zA-Z}={A-Za-z}' 'm:{a-zA-Z}={A-Za-z} l:|=* r:|=*'
是要传递给matcher-list
配置的参数(值)。- 这里我有两个参数,用空格隔开。这意味着 zsh 将首先尝试查找与第一个 arg 匹配的文件,如果没有找到将尝试与第二个 arg 匹配的文件
在这里它变得模糊:
- 我知道
'm:{a-zA-Z}={A-Za-z}'
匹配不区分大小写,但我不太理解语法。 - 我也知道它
'm:{a-zA-Z}={A-Za-z} l:|=* r:|=*'
仍然不区分大小写,但也在整个字符串中搜索匹配,而不仅仅是开始。但是,我也不明白语法。
有人可以确认我以前的断言,并在需要时更正它们,并详细说明参数的巫毒语法吗?
谢谢
编辑:哦,对不起,如果这个问题更适合 superuser.com,我很难确定哪个网站更适合它。
shell - ZSH 自动完成功能搞砸了命令名称
当我开始对命令进行选项卡自动完成时,它会将我最初键入的内容保留在它旁边,并且命令变得不可读。在下面的示例中,我输入了“git che”并点击了 tab。一旦我选择“checkout”,命令提示符就会变成“git che git checkout”。该命令仍然有效,并且在我的历史记录中它存储“git checkout”。但它在视觉上很烦人。有没有办法改变这种行为。我在 2 个不同的终端仿真器中尝试了这个,所以我可以确认它的 ZSH 而不是仿真器。谢谢
编辑:
回声 $ZSH_VERSION
4.3.10
zsh -f 似乎不会发生这种情况。虽然很难说,因为唯一有效的自动完成是目录。我在这个自定义主题中使用“oh-my-zsh”:
}
解决方案:
注意:stackoverflow 不会让我回答我自己的问题,因为我是在过去 8 小时内提出的。我不想等待。
所以我想通了。事实证明我没有正确地转义 ANSI 颜色代码(我认为)。在我的 PROMPT 变量中有 $reset_color 的任何地方,我都将其更改为 %{$reset_color%} 并修复了它。
macos - zsh:找不到命令(对于 $EDITOR)
无论出于何种原因,zsh 都不喜欢我为我的$EDITOR
变量设置命令行参数,但据我所知,它不应该是这样的。我见过人们使用
在他们的 ~/.zshrc 文件中,但是当我尝试这样做时,我只会收到投诉。
为什么会发生这种情况?设置$EDITOR
为'mate'
, 'vim'
or'open'
似乎工作得很好,但'mate -w'
不'open -Wn'
工作。
我在 Mac OS X 上的屏幕内运行 zsh,我的 ~/.zshrc 如下:
git - 有没有一种“简单”的方法可以在不使用 oh-my-zsh 的情况下将 git 信息添加到 zsh?
有没有一种“简单”的方法可以在不使用 oh-my-zsh 的情况下将 git 信息添加到 zsh?似乎 zsh 比 bash 更可配置,但也更复杂。
ubuntu - 在终结者终端模拟器中运行 Zsh 时修复 .zshrc 中的键设置(Home/End/Insert/Delete)
我正在运行 Ubuntu 11.04。我安装了Terminator Terminal Emulator 0.95 和 Zsh,版本 4.3.15。
我在 Zsh 中的密钥存在(众所周知)问题。至少这些:
- Home/End,什么都没有发生
- 插入/删除/PageUp/PageDown:键入“~”
我已经尝试了一些 .zshrc 的配置来解决这个问题,但到目前为止还没有一种方法真正奏效。也许这与终结者和Zsh的结合有关。我在此页面上使用了 2 个配置:https ://bbs.archlinux.org/viewtopic.php?pid=428669 。
是否有人有类似的配置(尤其是 Terminator 和 Zsh)并弄清楚需要将什么插入 .zshrc 以修复关键设置?
bash - 在 bash 脚本中获取我的 .zshrc
假设我有这个 bash 脚本(测试):
在我的 .zshrc 中,我有以下内容:
当我尝试从终端窗口 (zsh) 运行“bash test”时,我收到错误消息,提示找不到 autoload 和 compinit 命令。如果我只是从命令行执行 source ~/.zshrc ,它可以正常工作。
我正在尝试设置我的开发环境,类似于此博客,但是当脚本尝试获取 .zshrc 文件时,它会失败。
任何见解将不胜感激。
bash - ZSH 脚本和提示分析?
这个答案“如何分析 bash shell 脚本? ”似乎几乎完美地涵盖了我在这里想要完成的任务。我目前有一些修改提示的 zsh 脚本,但是我认为对 oh-my-zsh 的一些更新引起了一些我需要追查的问题。时不时的呆滞是难以忍受的。
为此,您将如何调整此示例答案中的提示部分以使用 zsh 与 bash?
目前我已经修改/etc/zshenv
,使其具有示例中的初始建议代码:
我~/.zshrc
的尾部附加了以下内容:
当然,这些对于 ZSH shell 定制无效。我的提示渲染代码使用了 oh-my-zsh 自定义。我可以在我想的提示之前添加适当的代码,或者我愿意接受其他建议。
macos - 神秘幻影 rm -i 别名
我在 Mac OS 10.6.8 上使用 zsh。
所以,突然间,我的一台机器在每次我 rm 时都要求我确认。
坦率地说,我怀着持久的热情讨厌这个。我从来没有遇到过 rm 的问题,我也不需要讨论潜力。
我做的第一件事是which rm
报告rm: aliased to rm -i
。
现在,我一直在寻找这个别名。zshrc、.config(我没有)、默认的 zshrc 文件:我能想到的任何地方。没有在任何地方提到别名 rm 。
有没有一种简单的方法来确定这个别名的配置位置?或者列出 zsh 可能正在寻找配置行的所有位置?
bash - zsh 更改提示输入颜色
我想更改 zsh 中输入文本的颜色(我为每个命令键入的文本)。示例:在user@host> ls ~/
我想要ls ~/
黄色以从标准输出中脱颖而出。
我知道我可以在bash中使用
在提示结束时,颜色设置为黄色,我输入的输入文本为黄色(定义了相应的颜色变量)。进而
当显示我的命令的输出时,它将颜色重置为正常。
我怎样才能在zsh中做到这一点?目前,我有
在 .zshrc 中(最后将颜色设置为黄色),但它不起作用。(我也不知道如何在命令之后将颜色设置回白色)。
command-line - 在 zsh 中回显所有别名
是否可以强制 zsh 在使用时回显所有别名引用的实际命令?
例如,假设我设置了以下别名:
当我执行它们时,我希望看到它们中的每一个都打印出实际执行的命令。例如,我希望看到以下内容:
而不是以下内容:
是否有一个命令可以添加到我的 zshrc 以使所有别名都发生这种情况?我宁愿不必修改每个别名。