tmux-让你完全脱离鼠标的终端神器

什么是tmux

开发中,经常需要多个任务同时进行,因此需要多个终端标签页,如:一个用于vim编辑器,一个操作数据库,一个操作shell,一个连接远程服务器等。多个终端会话的切换并不方便,也容易分神。而且一断开就得重来。

如果有一种工具,可以在一个终端下完成以上操作,那该多好!

以上的各种困扰,tmux都能做到,而且做得比我们想象的还要更好!

概括来说,tmux就是一个终端复用器(terminal multiplexer)。入门文档请看 tmux: Productive Mouse-Free Development 中文版

以下主要介绍如何安装及配置插件,让tmux更加好用

image.png

安装tmux

环境:ceontos7

tmux版本:2.3

虽然yum源中有tmux,但版本较旧,是1.8版本,在2.1版本后有很大改变,因此还是使用新版的更好

准备工作

# remove old pkgs
yum remove libevent libevent-devel libevent-headers

# install ncurses
yum install ncurses-devel

# download libevent src
cd /usr/local/src
curl -L https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz -o libevent-2.0.21-stable.tar.gz
tar xvzf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure && make
make install
ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5

安装tmux

cd /usr/local/src
curl -L https://github.com/tmux/tmux/releases/download/2.3/tmux-2.3.tar.gz -o tmux-2.3.tar.gz
tar -xvzf tmux-2.3.tar.gz
cd tmux-2.3
./configure && make
make install

查看tmux

$ which tmux
/usr/local/bin/tmux

$ whereis tmux
tmux: /usr/local/bin/tmux

$ tmux -V
tmux 2.3

插件安装

插件管理器

tmux有专门的插件管理器(2.1版本后才支持),通过插件管理器可以很方便地安装插件,如同vim的vundle一样

插件管理器tpm

安装过程很简单

下载仓库

$ git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

将以下代码粘贴到tmux的配置文件~/.tmux.conf中

# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'

# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'git@github.com/user/plugin'
# set -g @plugin 'git@bitbucket.com/user/plugin'

# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'

更新配置

$ tmux source ~/.tmux.conf

其他插件

漂亮的主题

面板快捷键操作

其他配置

tmux默认的PERFIX前缀键是ctrl+b,不好按,可将其改为ctrl+a

以下是我的.tmux.conf内容,供你参考:

set -g prefix C-a 
unbind C-b 
set -sg escape-time 1
set -g base-index 1
setw -g pane-base-index 1
bind r source-file ~/.tmux.conf \; display "Reloaded!"

# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-pain-control'
set -g @plugin 'seebi/tmux-colors-solarized'

# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'git@github.com/user/plugin'
# set -g @plugin 'git@bitbucket.com/user/plugin'

# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm' 

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏守候书阁

webpack+vue项目实战(一,搭建运行环境和相关配置)

现在正在开发一个公司的后台管理项目,项目是一个单页面应用。功能上就是管理销售订单的各个环节,包括物流管理,回款管理,订单管理等等的功能。这些就不多说了。项目是,...

1091
来自专栏Jerry的SAP技术分享

运行npm update等命令出错后如何分析问题根源

npm ERR! Unexpected token < in JSON at position 0

972
来自专栏写代码的海盗

hadoop2.2.0安装需要注意的事情

今天在安装hadoop2.2.0时遇到若干问题,解决这些问题有些心得,记录下来以备不时之需。 问题1、master和slave之间不能相互ssh免密码登陆。  ...

3164
来自专栏wblearn

package.json文件快速入门详解

相信入门nodejs或者npm的同学会对package.json这个文件有疑惑,对这个文件的作用不是很清晰,但搭建自己的博客每每用到node,npm这个文件又必...

1131
来自专栏IT可乐

在 eclipse 中将 web 项目部署到 tomcat 服务器上

1、在 eclipse 中,选择 Window--->Preferences--->Server--->Runtime Environments,选择 Add ...

2375
来自专栏linux、Python学习

Linux基础教程之linux文件权限深度解读

基本命令—— 1.cut : cat /etc/passwd | cut -d’:’ -f7| uniq -c| sort -nr

540
来自专栏无所事事者爱嘲笑

vue-cli webpack2项目打包优化

2024
来自专栏ImportSource

GitHub不count contributions的解决办法

最近在github上提交代码,发现push上去代码以后,在Public activity 里是有记录的,如下: ? 但在Contribution activi...

3266
来自专栏linux运维学习

linux学习第四十二篇:限定某个目录禁止解析php, 限制user_agent,PHP相关配置

限定某个目录禁止解析php 虚拟主机配置文件添加的核心配置内容: <Directory /data/wwwroot/111.com/upload> ...

2259
来自专栏Python研发

LInux50个基本命令

cd:(切换) vim:(创建文件)   vi:编辑文件 bc:(计算器)quit:退出计算器 mkdir:(创建目录)   mkdir -p:递归建立目录 r...

1183

扫码关注云+社区