小编sca*_*nny的帖子

如何阻止 zsh 在管道符号之前吃空间?

当我'|'在 zsh 命令行上键入一个空格后跟管道符号时,zsh 会占用空间,将管道符号直接放在前面的单词上。我如何阻止它这样做?我不确定任何可能的风格约定,但我喜欢管道符号两侧的空格以提高可读性。我几乎开箱即用地使用 oh-my-zsh。

解决方案

根据下面mpy的回答,我使用了以下解决方案:

默认情况下,zsh/ohmyzsh 中未定义 ZLE_REMOVE_SUFFIX_CHARS。未定义时,它的行为就像:

ZLE_REMOVE_SUFFIX_CHARS=$' \t\n;&|'
Run Code Online (Sandbox Code Playgroud)

我在 ~/.zshrc 中添加了以下定义:

ZLE_REMOVE_SUFFIX_CHARS=$' \t\n;&'
Run Code Online (Sandbox Code Playgroud)

(所有管道除外)和快速,完美!问题消失了。

zsh oh-my-zsh

23
推荐指数
1
解决办法
2220
查看次数

为什么在 Windows 中 zsh 的每个提示之前都会出现一个百分号?

我正在 Windows 中设置 zsh 并且我在每个提示上方的行中的第一个字符位置得到一个反向(白底黑字(黑色终端背景))百分比符号。

通常这意味着文件末尾没有换行符,例如在cat-ing 文件时。

它不会发生在我的 Mac 上,甚至不会发生在 Windows 上的 Mintty 上。但它确实发生在 ConEmu 和 CMD.EXE 通常运行的标准终端应用程序中。

我已经有了unset我所有的提示字符串以及precmd()我通常用来在提示上方添加一个空行的字符串。

任何线索可能是什么?

windows zsh command-line

15
推荐指数
1
解决办法
2万
查看次数

bash 列命令被 ANSI 颜色转义混淆

我有一个来自 Gary Bernhardt 的 dotfiles 的 bash 脚本,它打印了最近 git 提交的漂亮彩色列表。它使用该column命令将输出排列成列。在我的 Mac 上,它运行得非常好。

然而奇怪的是,当我在 Cygwin 或 CentOS 6 上运行它时,列位不起作用。所有字段之间都有三个空格,无论它们的长度如何,都会在“列”之间产生锯齿状的排水沟。我已将其范围缩小到 ANSI 颜色转义码。如果我删除这些,列会排成一列。

zsh 版本在所有三个上都相同(并且问题在 bash 中的出现方式完全相同)。我不知道是什么版本column,但它们看起来完全一样,而且它们的手册页对于任何有价值的东西都是一样的。

为什么这适用于我的 Mac 而不适用于其他操作系统?

centos cygwin bash

8
推荐指数
1
解决办法
1644
查看次数

标签 统计

zsh ×2

bash ×1

centos ×1

command-line ×1

cygwin ×1

oh-my-zsh ×1

windows ×1