参考:
- 终极 Shell
- https://github.com/ohmyzsh/ohmyzsh
- https://github.com/ohmyzsh/ohmyzsh/wiki/Installing-ZSH
- 高效Linux之autojump的安装、配置与使用
- ubuntu窗口排列和分屏工具
1. Terminator的安装和使用
安装terminator:
sudo apt update sudo apt install terminator |
常用命令:
# 最常用 | |
Ctrl+Shift+O | Split terminals Horizontally. |
Ctrl+Shift+E | Split terminals Vertically. |
Ctrl+Shift+Right/Left/Up/Down | - Move current dragbar Right/Left/Up/Down. |
Ctrl+Shift+N/P | - Move to next/previous terminal within the same tab |
F11 | - Toggle fullscreen |
Ctrl+Shift+T | - Open a new tab |
Ctrl+PageDown / PageUp | - Move to next/previous Tab |
Ctrl+Shift+PageDown / PageUp | - Swap tab position with next/previous Tab |
Ctrl+Shift+W | - Close the current terminal. |
Ctrl+Shift+Q | - Quits Terminator |
# 其它 | |
Ctrl+Shift+X | - Toggle between showing all terminals and only showing the current one (maximise). |
Alt + Up/Down/Left/Right | - Move to the terminal at up / down / left / right |
Ctrl+Shift+C/V | - Copy/Paste selected text |
Ctrl+Shift+F | - Open buffer search bar to find substrings in the scrollback buffer. Hit Escape to cancel. |
Ctrl+Plus (+) / Minus (-)/ Zero | - Increase/Decrease/Restore font size |
Ctrl+Shift+S | - Hide/Show Scrollbar. |
2. 安装zsh和oh my zsh
安装zsh:
$ sudo apt install zsh |
查看安装后的zsh版本:
$ zsh --version |
将zsh设置为默认shell:
$ chsh -s $(which zsh) |
在home目录下手动安装oh my zsh:
$ git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh $ cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc |
显示当前系统安装的所有shells:
$ cat /etc/shells # /etc/shells: valid login shells /bin/sh /bin/bash /bin/rbash /bin/dash /bin/zsh /usr/bin/zsh |
3. 配置zsh
3.1 配置.zshrc文件
zsh的配置主要集中在/home目录下的.zshrc文件。首先,我们可以自定义自己的环境变量和别名等:
# 设置alias alias cls='clear' alias ll='ls -l' alias la='ls -a' alias vi='vim' |
oh my zsh提供了大量的插件来提高shell的使用效率,具体可以在官方的plugins和wiki中查找需要的插件。
插件也是在.zshrc里配置,找到plugins关键字,你就可以加载自己的插件了,系统默认加载 git ,你可以在后面追加内容,如下:
plugins=(git autojump) |
其中,几个常用的插件介绍如下:
- git:当你处于一个 git 受控的目录下时,Shell 会明确显示 「git」和 branch,如上图所示,另外对 git 很多命令进行了简化,例如 gco=’git checkout’、gd=’git diff’、gst=’git status’、g=’git’等等,熟练使用可以大大减少 git 的命令长度,命令内容可以参考~/.oh-my-zsh/plugins/git/git.plugin.zsh
- autojump:zsh 和 autojump 的组合形成了 zsh 下最强悍的插件,可以实现路径的快速跳转。
3.2 配置.zsh-theme文件
打开zsh默认的主题配置文件:
$ gedit ~/.oh-my-zsh/themes/robbyrussell.zsh-theme
由于zsh终端默认显示的是当前路径,即只显示当前文件夹名称,在跳转时不太不方便。因此,我们可以直接在“robbyrussell.zsh-theme”文件中对终端提示符进行修改。
用于zsh提示符的转义变量以%开头(与bashrc不同,bashrc以/开头)。一些 常用的zsh转义变量如下:
%T | 系统时间(时:分) |
%* | 系统时间(时:分:秒) |
%D | 系统日期(年-月-日) |
%n | 你的用户名 |
%B - %b | 开始到结束使用粗体打印 |
%U - %u | 开始到结束使用下划线打印 |
%d | 你目前的工作目录 |
%~ | 你目前的工作目录相对于~的相对路径(可能在某些zsh版本可能造成乱码) |
%M | 计算机的主机名 |
%m | 计算机的主机名(在第一个句号之前截断) |
%l | 你当前的tty |
这里,我们直接将“robbyrussell.zsh-theme”文件进行修改,修改后为:
PROMPT="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ )"
# 终端路径只显示当前文件夹名称
# PROMPT+=' %{$fg[cyan]%}%c%{$reset_color%} $(git_prompt_info)'
# 终端路径显示完整路径
PROMPT+=' %{$fg[cyan]%}%~$%{$reset_color%} $(git_prompt_info)'
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}git:(%{$fg[red]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} "
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})"
修改前后的终端显示对比如下:
4. autojump的安装和使用
autojump是一个命令行工具,它允许你可以直接跳转到你喜爱的目录,而不用管你现在身在何处。安装命令如下:
$ sudo apt install autojump |
安装完成后,在~/.zshrc中添加如下命令:
[[ -s ~/.autojump/etc/profile.d/autojump.zsh ]] && . ~/.autojump/etc/profile.d/autojump.zsh |
安装了autojump之后,zsh 会自动记录你访问过的目录,常用命令如下:
j +目录名 | 直接进行目录跳转,而且目录名支持模糊匹配和自动补全 |
j -s | 查看你当前统计的历史路径库。 |