写在前面
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 |
至此,终端环境已经搭建完成,效果展示如下
