oh-my-zsh配置終端promot

終端promot可以理解爲終端裏在輸入處之前的字符串。
這部分是可以被自定義的,並且傳統bash通過修改~/..bashrc即可,網上也有很多教程

zsh作爲一大終端殺器,怎麼能不與時俱進呢?無奈網上的教程實在是有限,我只找到這麼幾個有用的博客:
https://www.jianshu.com/p/bf488bf22cba
https://www.xxb.me/Linux/yuque-prompt/
都沒有達到我的要求。

我的需求是將promot部分的主機名稱變成ip地址,這樣一來我就不用pwd就可以直接複製地址,然後用於scp了。

解決方法和上面兩篇文章的方法類似,但是多了一個獲取當前IP的操作。

ipStr=$(ip -o addr | awk -F "inet |/" '!/127.0.0.1/ {print $2}' | sort -n | head -n 1)

然後就可以將${ipStr}加入oh-my-zsh了。
打開~/.oh-my-zsh/themes/找到當前使用的主題(我用的是ys主題)對應的配置文件(ys.zsh-theme)
修改最後的PROMOT,貼上我的修改代碼

ipStr=$(ip -o addr | awk -F "inet |/" '!/127.0.0.1/ {print $2}' | sort -n | head -n 1)
PROMPT="
%{$terminfo[bold]$fg[blue]%}#%{$reset_color%} \
%(#,%{$bg[yellow]%}%{$fg[black]%}%n%{$reset_color%},%{$fg[cyan]%}%n)\
%{$fg[white]%}@\
%{$fg[green]%}${ipStr}\
%{$fg[white]%}:\
%{$terminfo[bold]$fg[yellow]%}%~%{$reset_color%}\
${hg_info}\
${git_info}\

注意我將一部分空格刪了,這樣就能直接複製了。
保存後重新進入zsh。

# [email protected]:~/project/test on git:dev o [14:34:47] 
$ 

很顯然這裏就能直接複製了。當然了爲了避免衝突,最好將ys.zsh-theme另存爲成myys.zsh-theme,然後再在自己的這個上面修改。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章