问题标签 [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.

0 投票
1 回答
2703 浏览

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,我很难确定哪个网站更适合它。

0 投票
1 回答
3536 浏览

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%} 并修复了它。

0 投票
3 回答
8924 浏览

macos - zsh:找不到命令(对于 $EDITOR)

无论出于何种原因,zsh 都不喜欢我为我的$EDITOR变量设置命令行参数,但据我所知,它不应该是这样的。我见过人们使用

在他们的 ~/.zshrc 文件中,但是当我尝试这样做时,我只会收到投诉。

为什么会发生这种情况?设置$EDITOR'mate', 'vim'or'open'似乎工作得很好,但'mate -w''open -Wn'工作。

我在 Mac OS X 上的屏幕内运行 zsh,我的 ~/.zshrc 如下:

0 投票
0 回答
109 浏览

git - 有没有一种“简单”的方法可以在不使用 oh-my-zsh 的情况下将 git 信息添加到 zsh?

可能重复:
在 Zsh 中获得指示 Git-branch 的提示

有没有一种“简单”的方法可以在不使用 oh-my-zsh 的情况下将 git 信息添加到 zsh?似乎 zsh 比 bash 更可配置,但也更复杂。

0 投票
4 回答
31700 浏览

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 以修复关键设置?

0 投票
2 回答
4213 浏览

bash - 在 bash 脚本中获取我的 .zshrc

假设我有这个 bash 脚本(测试):

在我的 .zshrc 中,我有以下内容:

当我尝试从终端窗口 (zsh) 运行“bash test”时,我收到错误消息,提示找不到 autoload 和 compinit 命令。如果我只是从命令行执行 source ~/.zshrc ,它可以正常工作。

我正在尝试设置我的开发环境,类似于此博客,但是当脚本尝试获取 .zshrc 文件时,它会失败。

任何见解将不胜感激。

0 投票
2 回答
1385 浏览

bash - ZSH 脚本和提示分析?

这个答案“如何分析 bash shell 脚本? ”似乎几乎完美地涵盖了我在这里想要完成的任务。我目前有一些修改提示的 zsh 脚本,但是我认为对 oh-my-zsh 的一些更新引起了一些我需要追查的问题。时不时的呆滞是难以忍受的。

为此,您将如何调整此示例答案中的提示部分以使用 zsh 与 bash?

目前我已经修改/etc/zshenv,使其具有示例中的初始建议代码:

~/.zshrc的尾部附加了以下内容:

当然,这些对于 ZSH shell 定制无效。我的提示渲染代码使用了 oh-my-zsh 自定义。我可以在我想的提示之前添加适当的代码,或者我愿意接受其他建议。

0 投票
1 回答
209 浏览

macos - 神秘幻影 rm -i 别名

我在 Mac OS 10.6.8 上使用 zsh。

所以,突然间,我的一台机器在每次我 rm 时都要求我确认。

坦率地说,我怀着持久的热情讨厌这个。我从来没有遇到过 rm 的问题,我也不需要讨论潜力。

我做的第一件事是which rm报告rm: aliased to rm -i

现在,我一直在寻找这个别名。zshrc、.config(我没有)、默认的 zshrc 文件:我能想到的任何地方。没有在任何地方提到别名 rm 。

有没有一种简单的方法来确定这个别名的配置位置?或者列出 zsh 可能正在寻找配置行的所有位置?

0 投票
1 回答
9310 浏览

bash - zsh 更改提示输入颜色

我想更改 zsh 中输入文本的颜色(我为每个命令键入的文本)。示例:在user@host> ls ~/我想要ls ~/ 黄色以从标准输出中脱颖而出。

我知道我可以在bash中使用

在提示结束时,颜色设置为黄色,我输入的输入文本为黄色(定义了相应的颜色变量)。进而

当显示我的命令的输出时,它将颜色重置为正常。

我怎样才能在zsh中做到这一点?目前,我有

在 .zshrc 中(最后将颜色设置为黄色),但它不起作用。(我也不知道如何在命令之后将颜色设置回白色)。

0 投票
2 回答
5868 浏览

command-line - 在 zsh 中回显所有别名

是否可以强制 zsh 在使用时回显所有别名引用的实际命令?

例如,假设我设置了以下别名:

当我执行它们时,我希望看到它们中的每一个都打印出实际执行的命令。例如,我希望看到以下内容:

而不是以下内容:

是否有一个命令可以添加到我的 zshrc 以使所有别名都发生这种情况?我宁愿不必修改每个别名。