瞎扯淡 求一个 `shell prompt` 配色方案. (抓图)

zw963 · 2012年09月17日 · 最后由 zw963 回复于 2012年09月25日 · 11105 次阅读

最近将 shell prompt 换成了彩色的,但是总觉得自己配的,无论颜色,还是字符搭配,挺丑陋,我个人太不擅长这一块了。

希望给个提示,例如功能搭配,字符搭配,颜色搭配。

下面是我现在用的。命令提示符使用黄色,当前 git 分支使用 蓝色。

可以去 oh my zsh 的 repo 里面找些灵感,那里有不少 theme 可以挑

#1 楼 @willmouse

受教了,有关 zsh 还真是强大呀。

https://github.com/robbyrussell/oh-my-zsh

不过,对应的 .bashrc 是那个?

BTW: 我自己也用 bash 搞了几个工具集,上面的抓图那个目录内,都是大把的 git 脚本,用起来很爽的说。

#2 楼 @diudiutang

有灵感!我怎么没想过用 Unicode 字符涅 ?

不过我觉得配色还不如我呢。哈哈。

还有,都已经用颜色区分了,git 纯粹多余了。

我觉得 solarized dark 比较不错,哪儿哪儿都用它 http://ethanschoonover.com/solarized

#6 楼 @xiaolai 这个还是很出名得配色,专门给 coder 设计的,据说是比较不伤眼睛得配色。

#6 楼 @xiaolai

我正好试试,话说 Zenburn 我也用的足够久了,现在希望用个白色的亮点的主题。

#9 楼 @fredwu

我注意到你的截图,你是特意把 起始分隔符 (那个$) 和 PS1 的内容分成两行的吗?

#11 楼 @zw963 挺正常的,不少人这样呢,我也是

#11 楼 @zw963 对的,因为太长了。

#13 楼 @fredwu #12 楼 @willmouse

真是太天才了。哈哈。我就从来没想过。我也决定这样用了。

那两个符号也很不错,@fredwu, 麻烦帮我查一下那两个字符的 Unicode. (箭头和对号)

@zw963 http://ruby-china.org/topics/734 13 楼 Roamlog 的 theme 我一直在用

#15 楼 @southwolf

太爽了,我要把所有功能都用上。哈哈,只要一换行,感觉眼前一亮呀~~

#16 楼 @zw963 我直接用 RVM 自带的:

[[ -s "$HOME/.rvm/contrib/ps1_functions" ]] && source "$HOME/.rvm/contrib/ps1_functions" ps1_set --prompt $

#2 楼 @diudiutang #9 楼 @fredwu

我不知道该如何查询一个特定的字符的 Unicode 码,因为我根本没办法描述这个字符,你们可以复制一份那个向右的 粗箭头 还有那个 对号 到回帖里面码 ? 只要有字符就行

#21 楼 @diudiutang #20 楼 @doitian #19 楼 @fredwu #17 楼 @xiaolai #15 楼 @southwolf #7 楼 @lgn21st #1 楼 @willmouse 我最终效果是这样,感觉配色看着还行,功能不是太多,速度也挺快。

箭头后面是 rvm, 因为 Ruby 版本很少换,我给去掉了,只有 gemset. 各位觉得如何?我觉得那个反白的闪电挺酷!

两行还得一段时间适应,实在是不习惯呀。有违多年来养成的习惯...

#22 楼 @zw963 这闪电是咋打出来的,也许用 font face 啥的能搞个 logo 上去……

秀一下我的终极版本 PS1. 个人认为很酷 !

之前的那个目录在后面,是在是不习惯呀。现在换到前面了,而且增加了 shell-mode 支持,因为我使用 PS1 跟踪的方式,来定位目录,那个正则表达式真难写,主要是涉及乱七八糟的那些字符。@doitian 你可以给我讲下, \e[0;37m .... \e[m 之类的表示颜色的方式,为什么这么写吗?

#23 楼 @aptx4869

直接写到 PS1 里面就完了呗。就这个字符。

上图喽! 这个是 shell-mode

这个是:XFCE Terminal.

我以前极度追求这个....现在改用最初最默认的了.... 啥也没有... 算退步么?lol...

我以前极度追求这个....现在改用最初最默认的了.... 啥也没有... 算退步么?lol...

#26 楼 @poshboytl

我是不可能回去了,你再退步,至少应该有颜色的吧。否则输出一大堆太难受了,尤其是反白。太重要了。

没有颜色也....

something like: ~/Desktop/play/fuddle(388_login_modal_when_user_log_out) $

我就给 diff 加了颜色... 我猜 @lgn21st 和我一样....

#28 楼 @poshboytl

呵呵,你们一个公司的,习惯当然会传染。

我是受够了白色的,以前我还真不知道可以加颜色,慢慢找呗,那还罢了,知道了,肯定不会回去了。

也许将来觉得乱,回去掉一些,甚至回归一行,但是配色,全是一色才叫乱。

我是这样的

#24 楼 @zw963 我问的是怎么输入进去的,复制粘贴显然不是通用的方法,比方说要是想要弄个 github logo 之类进去的话你会怎么整

我昨天给我的 prompt 加了个 stash 的提示,嘿嘿。之前总是会忘记 repo 里有 stash ...

#26 楼 @poshboytl 这大概就叫做「返朴归真」!:p

#28 楼 @poshboytl 你要代码也不颜色高亮我就给你跪了

#32 楼 @fredwu 这是 Monaco font 吗?看上去像 bold?ML 默认好像是没有 bold 的 Monaco 字体吧?还是改过些什么设置吗?

#31 楼 @aptx4869

只有文本内容才可以加入 PS1 呀。你难道想整合个图片进去?

好吧,我大概明白了,苹果下的用户或 zsh 用户可能不是直接 设置 PS1 的方式来改这些内容的吧。

我是按照这篇文章介绍的方法来设定的。

http://www.cyberciti.biz/faq/bash-shell-change-the-color-of-my-shell-prompt-under-linux-or-unix/

设置起来比较丑陋,但是应该是所有的平台通用的。

#32 楼 @fredwu

我现在在反思,stash 到底有多大用处呢?如果你真的 stash , 两三分钟就回来,应该不会忘记的。如果时间长了,你再回来,你知道你 stash 的东西是干嘛用的?

我觉得可以提交一个 Commit, 内容如下:#132 存在一个bug, 需要立即修复, 这边已经完成了???, 下一步应该去做 ... , 然后再返回来时,就知道当时为什么要离开,真正要提交时,可以使用 --amend 改写 commit, 如果多次离开/返回,可以使用 rebase -i 合并 commit. 效果肯定比 stash 好呀。

#37 楼 @zw963 我这头像像是苹果用户么,我擦…… 实际上就是 unicode 文本啊,难道你不知道 github 上显示的大部分图标其实都是字体么,问题是怎么直接输入 unicode

39 楼 @aptx4869

你脑子怎么转不过这个弯来呀,呵呵。

你就直接把这个字符粘帖到 PS1 里面就是了么。例如:export PS1="☠"

BASH 下输出特殊字符就是直接 echo "特殊字符".

$ echo ☠
☠
$

你指的 `github 上大部分图标其实都是字体 ?? 我刚刚试了下明明都是图片呀。

顺便再秀下我的最新 PS1, 很牛呀。

#39 楼 @aptx4869

你如果知道 unicode, 可以在 Ruby 中或者 编辑器中直接输出这个特殊字符,复制到 PS1 里面就行啦。

#35 楼 @doitian 啊哈哈哈~~ 代码我真心不敢... 不过偶尔懒得开 editor 用 less 看看.... :D

#40 楼 @zw963 真的是字体: http://fortawesome.github.com/Font-Awesome/ 问题是直接在源码出来,就算装上了这字体也还是乱码,按里面的 unicode 输出也是一样乱码

PS, 话说你一直用 root 真的大丈夫?

#37 楼 @zw963 可以用 icon 类字体 #38 楼 @zw963 stash 可以有名字的,一般放测试代码。不要随便 commit,很容易忘记然后 push 到公共 repo 上去,这样问题就大条了。 Commit 这个词本来的意义就是你要对这些东西负责了。

贴个 prompt:

#43 楼 @aptx4869

那你就用 Unicode 呀。想想也不可能同时兼容两个独特的编码格式,对吧. #44 楼 @ranmocy

👍 酷毙了~

自用配色一枚 个人比较喜欢明亮的配色,左边显示常规信息,右边显示 Git 和 Ruby 环境,很直观。

#46 楼 @ruohanc #48 楼 @nightire

谢谢回复,都很酷!

#47 楼 @hisea

你最近比较忙吗?很少见呀。

话说自从 欲练神功, 必先自宫 后,再很少见你写文章了。

#45 楼 @zw963 用 Unicode?哦我怎么有种鸡同鸭讲的感觉,这年头还有人不用 unicode 的么……嘛,总之是搞定了,问题不在 unicode……以后如果你的网站要做自己的 font icon 时候就知道了 我觉得配色是提供有效信息用的,比方说当前用户是 root 就必须给个醒目的红色免得 rm -rf /什么的,然后对特定的主机用特定的颜色,然后就弄成这样了:

PS. 难道这标题栏让你以为我用的是苹果?

#49 楼 @zw963 是啊,最近比较忙,在个创业公司,而且最近除了 rails 还要接触一些其他的新东西,不工作的时候就学的别的。

#43 楼 @aptx4869

我还真就一直用的 Root, 偶尔切换到 自己的 zw963 那个帐号下耍耍 (这个帐号我设定的也是 Root 权限), 不过一会儿还回来。

我知道说起用一般用户,和 Root 用户,一般 User 好处一大把,什么防止误删除呀 (我还真干过这事情,符号链接搞的鬼), 系统容易搞坏呀,可是那也是刚开始用 Linux 时出的事情,用熟了,感觉 Root 没区别呀,也没什么不适应呀。相反,切换到 User 下面,动不动搞个 sudo, 麻烦得很。

再说了,这电脑就我一个人用,我当年用 Windows Server 2003, 也没创建过用户,一直用 Administrator.

#50 楼 @aptx4869

太华丽胡哨了吧。我觉得图形多一点没关系,获取的信息太多,你有没有考虑过 ls 时 刷新的问题?虽然 PS1 滞后,不影响你的输出内容,但是响应时间太久,总是怪怪的。我现在就简单的这几个,我都觉得已经到最大限度了,再加,就我这 ls 的频率,会崩溃的。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号