关于linux命令行终端shell改造与美化方案,以及tmux脚本工具。
赐予你强大的壳–tmux/zsh/oh-my-zsh
Created 2018.02.13 by William Yu; Last modified: 2018.08.13-V1.0.3
Contact: windmillyucong@163.com
Copyright ©2018 William Yu. All rights reserved.
oh_my_zsh
我依稀记得在哪里看到过命令终端的各种配置主题,见,惊艳,目流连。非得找到那篇博文才罢休:
http://blog.csdn.net/gatieme/article/details/52741221
以下记录源自于这篇博文
安装zsh
然后开始安装配置 :
1
sudo apt-get install zsh
然后把bash的配置文件(~/.bash_prorile或者~/.profile等)
我的是~/.bashrc拷贝到zsh的配置文件~/.zshrc里,因为zsh兼容bash)
每次进入是都使用命令zsh
进入, 而输入exit
退出
或者直接设置成默认shell(但是这里我并不需要执行,因为我的默认shell其实想设置成tmux,后文再说,然后使用tmux来调用zsh)命令行输入:
1
2
3
4
5
6
7
8
#取代bash,设为默认shell
sudo usermod -s /bin/zsh username
#或者
chsh -s /bin/zsh
chsh -s `which zsh`
#如果要切换回去bash:
chsh -s /bin/bash
安装oh-my-zsh
直接用zsh会很难受,因为zsh功能很强大但是太复杂,所以需要oh-my-zsh来将它简单化
1
2
3
4
5
6
7
8
9
git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
备份已有的zshrc, 替换zshrc
cp ~/.zshrc ~/.zshrc.orig
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
直接使用脚本安装
cd .oh-my-zsh/tools
./install.sh
直接最终的~/.zshrc内容备份一哈:
https://github.com/YuYuCong/Ubuntu
配置主题
oh-my-zsh 集成了大量的主题, 位于oh-my-zsh/theme
配置主题, 可以通过修改~/.zshrc
中的环境变量ZSH_THEME
来完成,我最后挑中了bira
1
ZSH_THEME="bira"
如果觉得主题太多,可以选择使用随机模式, 不过这就比较刺激了。
1
ZSH_THEME="random" # (...please let it be pie... please be some pie..)
配置插件
修改~/.zshrc
中plugins
1
plugins=(git bundler osx rake ruby)
详细的插件信息, 可以参见zsh插件Plugins介绍
更新oh-my-zsh
默认情况下, 您将被提示检查每几周的升级. 如果你想我ZSH自动升级本身没有提示你, 修改~/.zshrc
1
disable_update_prompt = true1
禁用自动升级, 修改~/.zshrc
1
disable_auto_update = true1
当然你也可以选择手动更新
如果你想在任何时间点升级(也许有人刚刚发布了一个新的插件,你不想等待一个星期?)你只需要运行:
1
upgrade_oh_my_zsh1
卸载oh-my-zsh
脚本为啥
如果你想卸载oh-my-zsh
, 只需要执行uninstall_oh_my_zsh zsh
, 从命令行运行. 这将删除本身和恢复你以前的bash或者zsh配置.
1
uninstall_oh_my_zsh zsh1
配置tmux默认调用oh-my-zsh
但是感觉装完之后,有一种很不实用的感觉,就只是主题比较多?我想tmux的分屏和zsh的漂亮界面融合起来。
1.在 ~/.tmux.conf文件中加了
“set -g default-shell /bin/zsh”
设置tmux的默认shell为zsh。
2.然后重新刷新tmux的配置文件
1
tmux source-file ~/.tmux.conf
终端默认启动tmux
到目前为止,我都是启动命令行之后会直接bash,需要输入tmux,才能开启tmux,然而我已经想直接抛弃bash了,所以默认启动tmux吧。
看看我现在都有些什么shell:
1
cat /etc/shells
结果
/bin/sh /bin/dash /bin/bash /bin/rbash /usr/bin/tmux /bin/zsh /usr/bin/zsh
然后:
1
chsh -s /usr/bin/tmux
重启电脑生效。
结束。
tmux
安装配置
因为很久之前就安装了tmux,当时没有写笔记,今天趁机会备注一下我的博文http://blog.csdn.net/williamyuyuyu/article/details/79283374
主要是tmux的配置文件:
1
vim ~/.tmux.conf
记得配置完了之后刷新tmux的配置文件
1
tmux source-file ~/.tmux.conf
我借用了别人的配置,当然也备份到github了:https://github.com/YuYuCong/Ubuntu
脚本
tmux里面的脚本:
写一个脚本在~/.tmux/dev,脚本名字就叫dev,放在~/.tmux/目录下
1
2
3
4
cd ~
mkdir .tmux
cd .tmux
vim dev
写入
1
2
3
4
5
6
selectp -t 0 #选择第一个标签
splitw -h -p 50 #分割成两半
selectp -t 1 # 选择第二个标签
splitw -v -p 50 'typora' #分割成两半
selectp -t 0 # 返回第一个标签
然后tmux的配置文件里面补上
bind b source-file ~/.tmux/dev
使用前缀+b按键调用此脚本。
可能需要重启一遍之后脚本配置才可以生效。
注意一点,因为第三个标签调用的是typora,不是终端程序,无法运行typora。无X服务。
解决方法自然很简单
1
2
3
4
5
6
7
8
selectp -t 0 # 选择第一个标签
splitw -h -p 50 # 竖着分割成两半
selectp -t 1 # 选择第二个标签
splitw -v -p 20 #水平分割成两个,新分割出来的占20%
selectp -t 2 # 选择第三个标签
send-keys -t 2 'typora ./daily_record/2018.md' #向标签2输入typora
#send-keys -t 2 'typora ./daily_record/2018.md' C-m #向标签2输入命令,并回车确定
#selectp -t 0 # 返回第一个标签
然后会自动分割成3个标签,并且向第三个标签输入typora,并且指向我的记录文档,刚好如果我想记录,直接Enter,如果不想开typora,那就重新输入命令即可。 >_<
当然注意,启动typora后的那个标签会进入运行状态,除非typora已经关闭,才能再输入命令。
### [注意]tmux比较权威的说明书:
《tmux: Productive Mouse-Free Development》https://www.kancloud.cn/kancloud/tmux/62464,
CSDN上很多博客都是在灌水,关乎脚本的只字不提,只说了快捷键部分。但是感觉脚本脚本脚本真的真的真的是tmux比较重要的是一部分哇!
当然这个脚本中所述的方法是用bash下运行tmux脚本,所以每一条命令前面都有一句tmux,既然我已经设置了tmux为默认shell,已经是tmux环境了,所以我的脚本是不用每一句命令之前加tmux的。以上已经完成了一个快捷键调用我要的脚本 的配置。
总结一哈
用了tmux的分割标签,快捷键,脚本运行;
配置文件在 .tmux.conf 其中一个插件 ~/.tmux/dev;
用了zsh的主题;
配置文件在~/.zshrc
References
- 《tmux: Productive Mouse-Free Development》https://www.kancloud.cn/kancloud/tmux/62464
- http://blog.csdn.net/gatieme/article/details/52741221