一直在用zsh的主题ys。一直有一个很烦的问题,刚进入shell的时候最上面有一个空行看起来十分难受。
今天想起来解决了一下,发现并不困难。
zsh的主题就是一个shell文件,修改变量PROMT就好了,而ys这个主题ys.zsh-theme
1 2 3 4 5 6 7 8 9 10 11 12
| PROMPT=" %{$terminfo[bold]$fg[blue]%} %( %{$fg[white]%}@ \ %{$fg[green]%}%m \ %{$fg[white]%}in \ %{$terminfo[bold]$fg[yellow]%}%~%{$reset_color%}\ ${hg_info}\ ${git_info}\ \ %{$fg[white]%}[%*] $exit_code %{$terminfo[bold]$fg[red]%}$ %{$reset_color%}"
|
在开头的时候就加了一个换行,把他去掉命令之间又太紧凑了。而PROMT
是一个变量,赋值是一次性的,在里面插一个带状态的函数又行不通。
好在文档里有一个函数precmd
,接下来就很简单了,把这个插入到要修改的主题,再把PROMPT
再把前面的换行删掉就好了。
1 2 3 4 5 6 7 8
| local prompt_prefix_flag=false function precmd(){ if $prompt_prefix_flag; then echo "" else prompt_prefix_flag=true fi }
|