问题标签 [zsh]

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 回答
618 浏览

python - 了解 PythonPath 的 Typeset

有人显然只在 .zshrc 中向我推荐了以下代码,而没有清楚地解释其目的。

我对如何使用 .bashrc 中的代码感兴趣。我的 Bash 对这个命令感到不安。

如何在 Bash 中使用该命令?

0 投票
9 回答
82999 浏览

git - 在 Zsh 中获得指示 Git-branch 的提示

我在 .zshrc 中单独运行以下代码作为提示失败。这表明我显然没有名为 __git_ps1 的程序。它不在 MacPorts 中。

#1

#2

#3

如何获得显示 Git 分支名称的提示?

0 投票
4 回答
1821 浏览

git - 让 Git-prompt 在 Zsh 中工作而没有函数中的错误

这个问题是基于线程的

我目前有以下 Git 提示。cd转到非 Git 文件夹后,我收到以下警告。

我当前在 Zsh 中的 Git-prompt 代码

问题是以下代码导致非 Git 文件夹的警告

我试图通过将错误重定向到 /tmp/ 来解决该错误,但失败了

如何摆脱非 git 目录的警告消息?

0 投票
3 回答
1228 浏览

linux - 不区分大小写的 ZSH 后缀别名

在我的 .zshrc 中,我设置了这样的后缀完成别名,以便我可以更轻松地打开文件:

这允许我在我的文本编辑器中打开文本文件,而无需预先添加编辑器命令。

但是,当我尝试打开带有大写后缀的文件时,会出现问题。ZSH 将识别“.txt”并在我的文本编辑器中打开它,但不能识别“.TXT”。

有什么方法可以使 ZSH 后缀识别不区分大小写,以便我可以打开这样的文件?

0 投票
2 回答
1047 浏览

zsh - 在要获取的脚本中更改 zsh 的 $path 变量

我继承了一个 zsh 脚本,它为一些模拟设置了一堆环境变量。它想要编辑 $path 变量以便可以找到一些 perl 脚本:

但是,当我获取脚本 ( source setup.source) 时,$path 变量保持不变。如果我将这些行复制粘贴到命令提示符,它们更新 $path。如果我在脚本中添加 'echo' 并再次获取它,则 typeset 命令似乎清除了 $path 变量。

有人介意向我解释发生了什么,以及我该如何解决?

0 投票
2 回答
1194 浏览

command-line - zsh 究竟是如何扩展 glob 的?

我有一个 C 程序,它通过遍历argv变量来显示它的命令行。

我在一个包含大型 C++ 源代码树的文件夹中调用了该程序,如下所示:

输出:

但是,当使用同一文件夹中的 glob 调用程序时,喜欢ls并且可以正常工作。为什么调用我的程序时会失败?如何扩展通配符?grep**/*.hzshzsh

编辑:我在 cygwin 上使用 zsh。

0 投票
2 回答
6286 浏览

bash - 在 Ubuntu 的 Zsh 中获得更少的颜色

如何在 Ubuntu 中获得与 Zsh 的 Less 比 Bash 的 Less 类似的突出显示?

我从 OS X 切换到 Ubuntu。我的 Less 在 Zsh 中没有按预期工作。

我的 Less 中的手册是绿色和黑色的,有或没有以下代码。

该代码使手册在 OS X 中可读,但它不适用于 Zsh 中的 Ubuntu。

Ubuntu 在 Bash 的 Less 中有出色的亮点。在没有我的代码的情况下,我的手册在 Bash 中有黄色、绿色和黑色。Zsh 和 Bash 都使用相同的 Less at /usr/bin/less。这表明我 Ubuntu 的 Bash 有一些点文件可以在某处配置它。

Ubuntu 在 Bash 中的 Less 亮点在哪里?

0 投票
6 回答
149781 浏览

macos - 如何使 zsh 在 Mac OS X(在 iTerm 中)上作为登录 shell 运行?

当 zsh 在 Mac OS X 上设置为登录 shell 时,当它由 iTerm 启动时,zsh 不认为它正在作为登录 shell 运行,尽管它是以 '-zsh' 启动的('-' 被放置为arg[0]) 的第一个字符,这应该意味着它应该作为登录 shell 启动。

因此,当我将登录 shell 设置为 bash 时,bash 会识别 $0 中的第一个“-”并作为登录 shell 运行,但 zsh 不会,尽管它似乎应该这样做。

有没有办法让 zsh 识别 arg[0] 中的“-”,或者让 iTerm 使用 --login 命令行参数运行 shell?

0 投票
1 回答
489 浏览

shell - 使用第 8 位作为 Meta 启用 zsh 而不会发出警告

在我寻求将我的 shell 配置为在 alt/meta 键方面完全按照我想要的方式工作时,我遇到了一些麻烦。最近我在我的 .zshrc 中添加了“bindkey -m”,现在每当我启动一个 zsh shell(即打开一个终端窗口)时,我都会收到这个错误“警告:`bindkey -m' disables multibyte support ”。

现在,由于我不太关心多字节支持 atm,有没有办法可以禁用此警告?更好的是使用 8 位元和多字节的方法。另请注意,这发生在 4.3.9 和 4.3.10 上的干净 zsh 安装上

我想要 bindkey -m 的理由

  • vim:alt 映射(我自己的个人命令/映射)
  • zsh: alt 映射(例如 Alt-. 来调用上一个命令的最后一个参数)
  • emacs:alt 映射(大量内置)

那么,有什么方法可以禁用此警告或以其他方式完成我正在尝试做的事情?

0 投票
3 回答
2742 浏览

shell - 根据长度将命令的输出通过管道传输到 less 或 cat

首先,让我声明这是一个编程问题(因此不属于超级用户等人),因为我说的是 shell 编程。这几乎可能是一个高尔夫问题,但我一开始没有答案,所以任何帮助将不胜感激:-)

所以,故事是:我喜欢用管道输入东西less--quit-if-one-screen因为它很舒服:less在不必要的时候不会妨碍我。还是这样?当我的提示已经在我的终端窗口底部时,这个选项完全符合我的要求(即less表现得像cat)。但是,当我当前的提示位于窗口顶部时,less首先打印大量空白行以清除屏幕,然后在屏幕底部打印出我的(短)文件,然后它才意识到文本较少比一个屏幕,所以它退出,我得到我的提示。

但是这种行为并不好,因为所有那些无用的空白行。我尝试了不同的选项,或者编写了脚本和别名,我能想到的最好的就是这个(我正在使用 zsh,所以 shell 已经能够复制管道等等):

bucket我刚刚编写的另一个脚本在哪里,如果它少于 N 行(使用 -N)或多于 N(使用 +N) ,它将stdin复制到stdout 。我把它贴在这里:http ://snipt.net/Gyom/copy-stdin-to-stdout-or-not-depending-on-length

ls | catless几乎可以工作。但是,出于同步的原因,这里涉及的不同进程无法正确访问终端,并且所有操作都在后台执行(特别是,我less在这里从来没有得到正确的,并且提示返回得太快了)。但也许我走错了路。

所以,总而言之,我想要的是这样一个函数/脚本/我可以输入的任何内容,ls | catless它的行为与输出短于一个屏幕时的行为完全相同,而ls | cat当输出长于屏幕时则如此。lsls | less

有任何想法吗 ?