玩转mac的terminal以及zsh
Shell是一个连接OS和用户输入之间的中间层,从本质上讲,它获取用户输入,然后调用相应的命令,输出结果或者将结果pipe到下一个命令的输入,依此循环直至输出最后的结果。王垠这篇文章的一部分探讨了shell的运行机制以及使用字符流作为shell pipe中转媒介的弊端,可以一读。
zsh是shell的一个变种,由于自己的第一个shell工具就是zsh,所有基本上没有办法体会到它独特于其他shell的优势,只能尽量把它设置的更好看,更好用。首当其冲的就是配置颜色,经过调试和不断的google,最后终于可以不再对着白屏黑字的terminal码代码了。调整的方法就是选择terminal的Preference选项,然后选择一个黑色背景的theme让后调整下字体字号就好。对于zsh,prompt的显示是可以自定义的,不过考虑到oh-my-zsh本身已经自带了很多theme,如果不是太挑剔,基本上足够使用了。我自己选择了一个名为"maran"的theme,可以在prompt中用彩色显示路径和用户名,比较方便。
PROMPT='%{$fg[cyan]%}%n%{$reset_color%}@%{$fg[yellow]%}%m:%{$fg[green]%}%/%{$reset_color%} $(git_prompt_info) %(!.#.$) '
分析一下以上的代码, %是用作转义字符。%n表示用户名,%M表示full machine name,%/和%d一个意思,都是表示完整的当前路径($PWD),考虑到zsh作为shell,基本上天天都被大量使用,很多小的feature还是值得自己下工夫看看,由于大部分时间terminal会占据整个窗口,所以在terminal中显示时间也是一个不错的想法,于是可以定义RPROMPT使时间显示在prompt右侧。
RPROMPT='%{$fg[red]%}%T %W%{$reset_color%}'
引用:
排版和内容都很nice的一篇关于自定义zsh的文章;
浙公网安备 33010602011771号