写在前面
VSCode
推出Remote SSH
插件以后,远程开发变得简单,原生的开发环境大大提高了工作效率,但各种复杂的系统交互仍然需要回归终端。趁着近期有空折腾,笔者搜集各种资料,基于zsh
+oh-my-zsh
+tmux
+oh-my-tmux
搭建了一个相对令人满意的终端环境,本文用于整理搭建过程,构建一份搭建指南,以便日后读者参考
环境要求
Linux
操作系统(笔者使用Ubuntu 20.04
,其他版本可能略有差异)- 用户具有
sudo
权限(安装依赖) - 一些基本的工具(例如
curl
、git
等) - 科学的网络环境(请自行配置代理工具)
搭建步骤
zsh
使用apt
直接安装zsh
1 | $ sudo apt install zsh |
检查zsh
可用性
1 | $ cat /etc/shells |
oh-my-zsh
使用curl
安装oh-my-zsh
,这里同样可以使用wget
,具体参考官网
1 | $ cd |
修改默认shell
为zsh
,然后重新登录
1 | $ chsh -s /bin/zsh |
检查默认shell
是否已经正确修改
1 | $ echo $SHELL |
注意:如果使用VSCode
进行远程开发,需要额外进行以下操作
- 在命令面板(
Ctrl
+Shift
+P
)中关闭服务器上的vscode-server
进程 - 进入配置终端设置,将该服务器的默认终端修改为
zsh
此处笔者使用agnoster
主题,在~/.zshrc
中修改配置
1 | $ vim ~/.zshrc |
从Github
安装zsh-autosuggestions
和zsh-syntax-highlighting
插件,并在~/.zshrc
中启用
1 | $ git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions |
tmux
使用apt
直接安装tmux
1 | $ sudo apt install tmux |
如果系统自带tmux
,重启即可
1 | $ tmux kill-server |
oh-my-tmux
从Github
安装oh-my-tmux
,这里笔者使用自己配置的版本,同样可以直接使用原版,除了下载地址不同以外,安装过程完全相同
1 | $ cd |
其他事项
迁移bash配置
如果之前在.bashrc
中进行了一些配置,可以将这些内容直接复制到.zshrc
中
1 | $ vim ~/.zshrc |
关于Anaconda
如果使用Anaconda
,建议关闭自动激活,否则在启动tmux
时PATH
变量可能错误加载,导致虚拟环境无法正常使用
1 | $ vim ~/.condarc |
改进外观
笔者配置时注意到zsh
和tmux
中显示的主机名可能很长,可以通过修改配置文件的方式隐藏它们
对于oh-my-zsh
,在agnoster.zsh-theme
中做如下修改
1 | $ vim ~/.oh-my-zsh/themes/agnoster.zsh-theme |
对于oh-my-tmux
,在~/.tmux.conf.local
中做如下修改
1 | $ vim ~/.tmux.conf.local |
至此,终端环境已经搭建完成,效果展示如下