由于Git默认的界面长的实在是不够美观, 平时用起来都无法赏心悦目, 参考网上的一些文章资料, 做了下改动
修改Git Bash 窗口左上角标题
#该命令是一次性的,关闭后重新打开会恢复, 后面有完整的
echo -ne "\\e]0;title name\\a"
修改命令提示符
具体操作
打开 git-prompt.sh 文件
vim /etc/profile.d/git-prompt.sh
将其修改为如下内容:
if test -f /etc/profile.d/git-sdk.sh
then
TITLEPREFIX=SDK-${MSYSTEM#MINGW}
else
TITLEPREFIX=$MSYSTEM
fi
if test -f ~/.config/git/git-prompt.sh
then
. ~/.config/git/git-prompt.sh
else
PS1='\[\033]0;Bash\007\]' # 窗口标题
PS1="$PS1"'\n' # 换行
PS1="$PS1"'\[\033[32;1m\]' # 高亮绿色
PS1="$PS1"' ➜ ' # unicode 字符,右箭头, 如果显示不出来大概率是utf-8编码问题
PS1="$PS1"'\[\033[33;1m\]' # 高亮黄色
PS1="$PS1"'\W' # 当前目录
PS1="$PS1"'\[\033[34;1m\]' # 高亮蓝色
PS1="$PS1"' [\t]' # 当前时间
if test -z "$WINELOADERNOEXEC"
then
GIT_EXEC_PATH="$(git --exec-path 2>/dev/null)"
COMPLETION_PATH="${GIT_EXEC_PATH%/libexec/git-core}"
COMPLETION_PATH="${COMPLETION_PATH%/lib/git-core}"
COMPLETION_PATH="$COMPLETION_PATH/share/git/completion"
if test -f "$COMPLETION_PATH/git-prompt.sh"
then
. "$COMPLETION_PATH/git-completion.bash"
. "$COMPLETION_PATH/git-prompt.sh"
PS1="$PS1"'\[\033[31m\]' # 红色
PS1="$PS1"'`__git_ps1`' # git 插件
fi
fi
PS1="$PS1"'\[\033[36m\] ' # 青色
fi
MSYS2_PS1="$PS1"
这个非常像 oh-my-zsh 的风格, 其实一开始就是想用zsh终端的, 奈何windows不支持, 如果平时日常开发想装的话也可以在linux虚拟主机或者docker里面装一个, zsh在目前来说可以说是最强大的shell了, 谁用谁知道
修改界面主题
vim ~/.minttyrc
默认配置如下:
Transparency=low
Language=
ForegroundColour=0,255,64
CursorColour=0,255,64
CursorType=block
Scrollbar=none
FontHeight=12
把以下内容添加到配置文件里面:
Font=Fira Code Medium
FontHeight=14
FontHeight=14
Transparency=low
FontSmoothing=default
Locale=C
Charset=UTF-8
Columns=88
Rows=26
OpaqueWhenFocused=no
Scrollbar=none
Language=zh_CN
ForegroundColour=131,148,150
BackgroundColour=0,43,54
CursorColour=220,130,71
BoldBlack=128,128,128
Red=255,64,40
BoldRed=255,128,64
Green=64,200,64
BoldGreen=64,255,64
Yellow=190,190,0
BoldYellow=255,255,64
Blue=0,128,255
BoldBlue=128,160,255
Magenta=211,54,130
BoldMagenta=255,128,255
Cyan=64,190,190
BoldCyan=128,255,255
White=200,200,200
BoldWhite=255,255,255
BellTaskbar=no
Term=xterm
FontWeight=400
FontIsBold=no
最后重启Git-Bash就可以看到配置好的界面了
效果图:
另外说一下第一行是在 Options 中选择字体时设置的,我使用了 Fira Code, 14号字体, Fira Code就是一款为写程序而生的字体
以上内容参考网络文章 有兴趣的可以深入了解这里, 不过也有可能无法访问了
Fira Code
Fira 是 Mozilla 公司(火狐浏览器她爹)主推的字体系列。Fira Code 是其中的一员,专为写程序而生。出来具有等宽
等基本属性外,还加入了编程连字特性(ligatures)。
Fira Code 就是利用这个特性对编程中的常用符号进行优化,比如把输入的「!=」直接显示成「≠」或者把「>=」变成「≥ 」等等,以此来提高代码的可读性
本人的使用的IDE也是装的这一款字体, 咳咳跑题了..
一言与终端结合
去年无意发现一个名叫 一言 的网站, 这个网站只是单纯的提供一句话, 可以是动漫中的台词,也可以是网络上的各种小段子。 或是感动,或是开心,有或是单纯的回忆
并且还官方还提供了 API接口文档 供我们免费调用, 于是并尝试了把该功能与终端做结合, 大概就是, 启动终端时请求API, 把随机返回的句子显示在终端上, 我认为是个有趣的想法, 具体实现思路, 写一个请求一言API的脚本, 终端启动时自动调用一次这个脚本
效果如下:
编写一言脚本, 文件名和路径没有具体要求, 看个人
vim yy
具体代码GitHub上也有, 直接拿下面的也行:
# 一言
# 返回普通文本
#`curl -ks https://v1.hitokoto.cn/?encode=text`
url='https://v1.hitokoto.cn'
if [ x$1 != x ]; then
url='https://v1.hitokoto.cn?'$1
fi
# 处理 json 数据(处理json数据需要安装jq)
json=`curl -ks $url`
# linux 安裝jq
# yum install epel-release
# yum list jq
# yum install jq
# windows 安裝jq
# https://stedolan.github.io/jq/
random=$[RANDOM%7+31]
echo -e
content=`echo ${json} | jq '.hitokoto' | sed 's/"//g' | tr -d '\n'`
printf "\033[1;${random}m%s\033[0m" "『 " $content " 』"
from_who=`echo ${json} | jq '.from_who' | sed 's/"//g' | tr -d '\n'`
echo -e
if [ "$from_who" == 'null' ]
then
from_who='匿名'
fi
length=`expr ${#content} \* 2`
printf "\033[1;${random}m%${length}s\033[0m" "—— $from_who"
from=`echo ${json} | jq '.from' | sed 's/"//g' | tr -d '\n'`
printf "\033[1;${random}m%s\033[0m" "「" $from "」"
echo -e
exit 0
编写完后可以试着执行 yy脚本一下试试 (代码里有说明要安装jq处理json数据)
最后编辑~/.bashrc文件, 因为Git-Bash启动时会加载此文件
vim ~/.bashrc
在文件内容里加上yy后保存退出重新启动Git-Bash就行, (我能直接执行yy是配置了环境变量的, 如果没有配置的话需要写绝对路径)
# vim ~/.bashrc
# Git-Bash 初始化加载此配置文件
# shopt -s expand_aliases
# 允许shell脚本中使用 alias 命令
# 经测试, 在 #!/bin/sh 下, 该命令可有可无, 不影响 alias 的使用
# 在 !/bin/bash 下,才有影响
yy