Git bash美化与Tmux尝鲜

段时间搞网站的时候完全换了一个新的博客系统,所以自然要学习很多新的东西,本网站由hugo驱动,并由netlify持续构建。

最开始想搭个人博客,看了B站上的视频教程,用的是typecho,但是后来发现这个博客系统虽然很适合小白,但是并不满足我个性化的需求,再加上经常用py爬虫,所以就去学了点web前端和后端的知识,后来就想自己写网站,于是就有了我之前的:sleepdevil.top

可是后来经人提醒,发现自己的精力全都用在搭建网站上了,博客的质量却始终没有得到提升,于是最终投向了hugo的怀抱。这个博客系统不同于typecho,想要使用它就得在命令行中愉快的玩耍。因为经常在git bash中敲命令,所以就有了这篇文章!


先要知道,git bash是基于mintty的,可以看做是一个小型的linux系统(类似于docker),所以你会发现在git bash中你可以使用诸如vim、ls、pwd等在linux中的常用指令。

不过git bash实在是太丑了。。

11.png

再附上我的git bash:

12.png

是否惊讶了?别急,听我慢慢道来。

首先,通过vim打开git的配置文件

$ 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 字符,右箭头
	PS1="$PS1"'\[\033[33;1m\]'     # 高亮黄色
	PS1="$PS1"'\W'                 # 当前目录
	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"

然后在修改一下主题,这里我是参考的这位博主的

直接$ vim ~/.minttyrc

这里提醒一下,vim是一个编辑器,vim+文件名则会通过该编辑器来打开,有关vim,建议去oi-wiki上系统的学习一下。如果该文件不存在则会自动创建并进入。

然后

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。

可能有人要问为什么我的git bash里有三个子终端?这时候就要隆重推出一款终端复用神器:tmux了!这里要感谢hongwenjun提取的tmux for windows,让windows安装tmux变得如此简单。执行以下命令即可:

$ git clone https://github.com/xnng/bash.git
$ cd bash
$ cp tmux/bin/* /usr/bin
$ cp tmux/share/* /usr/share -r

要想让中间的分割线可以通过鼠标拖拽,则使用以下命令:

$ vim ~/.tmux.conf

setw -g mouse
set-option -g history-limit 20000
set-option -g mouse on
bind -n WheelUpPane select-pane -t= \; copy-mode -e \; send-keys -M
bind -n WheelDownPane select-pane -t= \; send-keys -M

这样tmux就下载并配置好了。


git bash中输入tmux命令,就可以进入tmux窗口。Ctrl+d或者输入exit可以退出。

  • 快捷键

    tmux有大量的快捷键,他们都要通过前缀键来唤起。默认的前缀键是Ctrl+b。按下后就进入了快捷键模式。

    常见快捷键(按下Ctrl+b之后):

    • %:划分成左右两个窗口。
    • ":划分成上下两个窗口。
    • {:当前窗口左移(}右移)。
    • Ctrl+o:上移
    • Alt+o:下移
    • $:重命名当前会话。
    • s:列出所有会话。

也可以通过键入命令来进行操控。

$ tmux new -s <session-name>

默认情况tmux的窗口编号是像数组一样从0开始排序的,我们可以通过-s加上自定义名字来为会话起名。tmux ls命令可以查看当前所有的tmux会话。

tmux attach用于重新接入已存在的会话(当一个会话被你关闭之后,再次打开命令行,你可以通过这个命令来恢复之前的会话)。

# 使用会话编号
$ tmux attach -t 0

# 使用会话名称
$ tmux attach -t <session-name>

tmux kill-session用于杀死某个会话,同样要加上-t指定。

tmux switch用于切换会话,同样加上-t。

tmux rename-session -t重命名。

tmux split-window划分为上下两个窗口(等同于快捷键");如果加上-h参数则划分成左右两个窗口(等同于快捷键%)。

这里要注意一下,窗口划分之后的子窗口的学术名字为窗格,也可以称为会话。


考:https://juejin.im/post/5bd5a08cf265da0add520772

http://www.ruanyifeng.com/blog/2019/10/tmux.html

加载评论