zsh终端和oh-my-zsh配置
一、Ubuntu端
1. 安装zsh和tmux
$ sudo apt-get install zsh tmux
2. 安装Powerline Fonts字体
$ sudo apt-get install fonts-powerline
3. 安装Oh My Zsh
注:需要挂代理!
$ sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
或者
$ wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
$ sh install.sh
升级:
$ omz update
4. 安装插件
- zsh-autosuggestions
$ git clone git://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/plugins/zsh-autosuggestions
注:如字看不清,在插件目录下找到 autosuggestions.zsh
文件,找到并修改ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=11'
- zsh-syntax-highlighting
$ git clone git://github.com/zsh-users/zsh-syntax-highlighting ~/.oh-my-zsh/plugins/zsh-syntax-highlighting
5. 配置文件
~/.zshrc
文件
- 主题设为
"agnoster"
- 开启插件
plugins=(
tmux
git
z
zsh-autosuggestions
zsh-syntax-highlighting
)
- 保留原
.bashrc
文件的启动配置:
在 ~/.zshrc
文件开头处,添加
source ~/.bashrc
注:如 .bashrc
内容在启动报错,屏蔽掉相应不兼容指令。
- oh my tmux 快捷键用vim逻辑
在 ~/.zshrc
文件开头处,添加
export EDITOR="vim"
6. 安装Oh my tmux
之前必须已安装awk
、perl
、sed
;且 $ echo $TERM
必须为 xterm-256color
。
$ mkdir ~/.config/tmux
$ cd ~/.config/tmux
$ git clone https://github.com/gpakosz/.tmux.git .
$ ln -s ./.tmux.conf ./tmux.conf
$ cp ./.tmux.conf.local ./tmux.conf.local
tmux.conf
为系统配置文件,用户一般不修改tmux.conf.local
为用户配置文件,用户定制在这里
7. 设置Oh my tmux
修改 tmux.conf.local
tmux_conf_theme_*_separator_*
底栏分隔符号- tmp插件安装
tmux-cpu
、tmux-resurrect
、tmux-continuum
。
二、Windows端
1. 安装Powerline Fonts字体
回到Ubuntu,下载:
$ cd /tmp
$ git clone https://github.com/powerline/fonts.git --depth=1
$ cd /tmp/fonts
拷贝文件夹到windows目录下;windows下,管理员运行Windows PowerShell;到fonts
目录下,运行:
> Set-ExecutionPolicy Bypass
> .\install.ps1
> Set-ExecutionPolicy Default
2. Windows Terminal字体设置成:XXX for powerline
3. Windows Terminal配色设置
配色大全网站:https://github.com/mbadolato/iTerm2-Color-Schemes
网站内windowsterminal/目录下,拷贝配色文件内容,打开Windows Terminal的settings.json
文件,粘贴在 (“schemes”)相应位置,注意添加分隔符逗号!
4. VSCode配置字体,用以支持powerline特殊字符。
配置文件中添加
"editor.fontFamily": "'Ubuntu Mono derivative Powerline'",
5. VSCode修改内置terminal配色:
VSCode Terminal配色网站:https://glitchbone.github.io/vscode-base16-term/
拷贝配色内容,打开VSCode的settings.json
文件,粘贴在"workbench.colorCustomizations": {}
内。
三、使用
1. git快捷键(zsh git插件)
简写 | 命令 |
---|---|
g | git |
gst | git status |
gl | git pull |
gup | git pull --rebase |
gp | git push |
gd | git diff |
gdc | git diff --cached |
gdv | git diff -w "$@" | view |
gc | git commit -v |
gc! | git commit -v --amend |
gca | git commit -v -a |
gca! | git commit -v -a --amend |
gcmsg | git commit -m |
gco | git checkout |
gcm | git checkout master |
gr | git remote |
grv | git remote -v |
grmv | git remote rename |
grrm | git remote remove |
gsetr | git remote set-url |
grup | git remote update |
grbi | git rebase -i |
grbc | git rebase --continue |
grba | git rebase --abort |
gb | git branch |
gba | git branch -a |
gcount | git shortlog -sn |
gcl | git config --list |
gcp | git cherry-pick |
glg | git log --stat --max-count=10 |
glgg | git log --graph --max-count=10 |
glgga | git log --graph --decorate --all |
glo | git log --oneline --decorate --color |
glog | git log --oneline --decorate --color --graph |
gss | git status -s |
ga | git add |
gm | git merge |
grh | git reset HEAD |
grhh | git reset HEAD --hard |
gclean | git reset --hard && git clean -dfx |
gwc | git whatchanged -p --abbrev-commit --pretty=medium |
gsts | git stash show --text |
gsta | git stash |
gstp | git stash pop |
gstd | git stash drop |
ggpull | git pull origin $(current_branch) |
ggpur | git pull --rebase origin $(current_branch) |
ggpush | git push origin $(current_branch) |
ggpnp | git pull origin $(current_branch) && git push origin $(current_branch) |
glp | _git_log_prettily |
2. z跳转(zsh z插件)
zsh会自动记录cd访问过的目录,通过 $ z 目录名
就可以直接进行目录跳转,且支持模糊匹配和自动补全。
3. tmux快捷键(zsh tmux插件)
简写 | 命令 |
---|---|
ts | tmux new-session -s |
tl | tmux list-sessions |
ta | tmux attach -t |
tad | tmux attach -d -t |
tksv | tmux kill-server |
tkss | tmux kill-session -t |
四、Tmux使用
-
Pane:程序运行在Pane。每个Pane隶属于在一个Window。
-
Window:多个pane组成一个window。每个Window至少有一个active pane。
-
Session:可attach和detach的单元。用户一时只能操作一个session;多用户可以同时attach同一个session。session可包含多个windows;至少包含一个current window。
<prefix> 指令前缀
Ctrl + a
或者Ctrl + b
<prefix> :
命令行模式<prefix> ?
帮助;<prefix> m
开启/关闭鼠标$ tmux list-keys
列出所有快捷键,及其对应的 Tmux 命令$ tmux list-commands
列出所有 Tmux 命令及其参数
1. Pane操作
快捷键 | 功能 |
---|---|
<p> " 或 - |
划分上下两个pane。 |
<p> % 或 S+- |
划分左右两个pane。 |
<p> x |
关闭当前窗格。 |
<p> <arrow> 或 hjkl |
active切换pane。 |
<p> C+<arrow key> 或 S+hjkl |
按箭头方向调整窗格大小。 |
<p> { |
当前窗格左移。 |
<p> } |
当前窗格右移。 |
<p> C+o |
当前窗格上移。 |
<p> A+o |
当前窗格下移。 |
<p> ! 或 + |
将当前窗格拆分为一个独立窗口。 |
<p> z |
当前窗格全屏显示,再使用一次会变回原来大小。 |
<p> q |
显示窗格编号。 |
2. Window操作
快捷键 | 功能 |
---|---|
<p> c |
创建一个新Window,状态栏会显示多个窗口的信息。 |
<p> & |
关闭当前窗口 |
<p> Tab |
切换到上一次的Window。 |
<p> <number> |
切换到指定编号的Window,其中的是状态栏上的窗口编号。 |
<p> C+h/C+l |
按照状态栏顺序切换Windows。 |
<p> w |
从列表中选择Window。 |
<p> , |
重命名当前Window。 |
3. Session操作
快捷键 | 功能 |
---|---|
<p> C+c |
新建一个Session |
<p> d |
从当前session退出detach,但是session和里面的进程仍然在后台运行。 |
<p> s |
从列表中选择切换Session。 |
<p> $ |
重命名当前Session。 |
$ tmux new -s <session-name>
$ tmux detach
$ tmux ls
$ tmux attach -t <session-name>
$ tmux kill-session -t <session-name>
最后修改于 2024-02-24