Tag: zsh

我怎样才能格式输出一个bash命令整齐的列

我有一个函数,输出我想要在列中格式化的许多行信息。 问题是任何特定的“单元格”(如果我可能使用这个术语)数据的宽度是可变的,所以将它布置成像awk这样的东西不会给我我想要的。 该函数是“键”(不是那么重要),我想这样的事情: $ keys | awk '{ print $1"\t\t" $2 }' 但是输出(它的一个片段)看起来像这样: "option-y" yank-pop "option-z" execute-last-named-cmd "option-|" vi-goto-column "option-~" _bash_complete-word "option-control-?" backward-kill-word "control-_" undo "control-?" backward-delete-char 我怎么能强迫事物留在整齐的列? 这是可能的awk,还是我需要使用别的东西?

在Zsh中得到一个表示Git分支的提示

我在.zshrc中提示失败时单独运行以下代码。 这表明我显然没有一个名为__git_ps1的程序。 这不是在MacPorts中。 #1 PROMPT="$(__git_ps1 " \[\033[1;32m\] (%s)\[\033[0m\]")\$"$ #2 PROMPT="$(__git_ps1 " (%s)")\$"$ #3 # Get the name of the branch we are on git_prompt_info() { branch_prompt=$(__git_ps1) if [ -n "$branch_prompt" ]; then status_icon=$(git_status) echo $branch_prompt $status_icon fi } # Show character if changes are pending git_status() { if current_git_status=$(git status | grep 'added to commit' […]

哦,我的Zsh – 禁用“你想检查更新”的提示

每当我在Mac上打开terminal,我都会得到提示 你想检查更新吗? 我觉得很烦人。 无论如何要阻止它这样做?

我有一个bash-tab-completion脚本。 有没有一个简单的方法来使用它从zsh?

我有一个用于Apache Hadoop的bash-tab-completion脚本。 通常情况下,我使用zsh作为我的日常shell。 当我需要它的时候,它往往是非常棒的,但是它们看起来像tab-completion系统是完全不同的。 有没有简单的方法来“转换”现有的bash-tab-completion定义在zsh中工作? 我不想在这里投入大量的时间,但如果这很容易,我会省下一定的努力。

如何从ZSH的历史logging中删除条目

比方说,我使用zsh运行了一个命令 echo "mysecret" > file 我可以使用命令fc -l轻松打印历史logging,包括条目号: 1 echo "mysecret" >| file 但是,我怎样才能轻松地从历史logging中删除一个条目? 我在man zshbuiltins中找不到相应的段落。

Emacs多项不能正确显示特殊字符

这很奇怪 我在zsh定义了以下提示: local user_host='%{$terminfo[bold]$fg[green]%}%n @ %m%{$reset_color%}' local current_dir='%{$terminfo[bold]$fg[blue]%} %~%{$reset_color%}' local git_branch='$(git_prompt_info)%{$reset_color%}' local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" PROMPT="╭─${user_host} %D{[%a, %b %d %I:%M:%S]} ${current_dir} ${git_branch} ╰─%B$%b " RPS1="${return_code}" 它在gnome-terminal以及Emacs的ansi-termterminal( Mx ansi-term )中效果很好 – 请参阅下面的示例: 但是,在Emacs的multi-term下,它不能正常工作,如下所示: 我认为multi-term将能够解释像gnome-terminal或ansi-term这样的terminal相同的一组转义字符。 为什么它没有正确解释git-prompt_info和其他人返回的转义字符? 我也试过了: Mx set-terminal-coding-system并将其设置为utf-8-unix TERM=eterm-color多任期terminal中的TERM=eterm-color ,或在调用Emacs之前等 TERM=在多任期terminal中,或在调用Emacs之前等 从我的.zshrc删除任何export TERM 更新(2014年1月29日): 到目前为止,最好的解决scheme似乎是要做到以下几点: TERM=xterm-256color 但导致另一个我在这里报告的问题: 在Emacs的ansi-term中传递转义序列到shell 。

在ZSH中添加一个新的条目到PATHvariables

我正在使用zsh,我试图向PATHvariables添加一个新条目( /home/david/pear/bin ),但是我不知道如何。 最让我困惑的是在我的~/.zshrc文件中没有一个PATHvariables的引用,但是执行echo $PATH返回: /usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games 所以一个PATHvariables正在被设置。

Zsh想要自动更正一个命令,前面有一个_

我刚刚开始在shell提示符下使用Zsh的一些集成支持来处理我的Git状态等。 当我input: ruby -v 确认我正在运行的ruby的版本,Zsh询问是否要将命令更改为_ruby。 那么在提示“否”并且命令按预期完成之后,在确认我的命令是正确的之后,在提示符下继续得到问题。 我假设有一个完成文件或类似的东西。 谢谢 更新: shell不再试图完成_ruby,closuresshell几次后就停止了响应。 我试图清理文件多次,但有一个“opts”variables是50或更长的行,行都是一起跑,一些行超过150个字符。 也许我可以通过电子邮件发送附件给你,如果你仍然想看到它。 我真诚地为这个杂乱的post道歉。

我怎样才能改变我的提示在zsh(不同于普通文本)的颜色?

为了更好地识别命令行输出的开始和结束,我想更改提示的颜色,以便与程序输出明显不同。 当我使用zsh,任何人都可以给我一个提示?

在zsh中放置$ PATHvariables断言的地方在哪里?

我喜欢zsh ,但我不知道在哪里放置我的$PATH和其他variables断言? 我发现它们分散在文件.zprofile .bashrc .bash_profile ,有时翻倍。 我知道在bash文件中有什么东西没有什么意义,因为我正在使用zsh ,但是我应该把我的rvm , python , node等添加到我的$PATH ? 有一个特定的文件,我应该使用(即.zshenv目前不存在于我的安装),我正在使用的一个,或者它甚至重要?