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 条评论
登录 后参与评论

相关文章

来自专栏smy

gulp rev manifest 添加目录前缀

gulp-rev 生成的manifest默认为: "index.css": "index.css?v=04aff97a7b",   为避免同名文件覆盖版本号,对...

2756
来自专栏机器学习实践二三事

Git使用

上篇博客说到了Git是什么以及搭建基本的Git环境,这篇就说说其基本使用 提交 上一篇写到了,你有个README.txt需要提交 $ git add READM...

1897
来自专栏小夜博客

PsTools 微软系统工具增强版

2618
来自专栏散尽浮华

文件实时同步后防篡改的操作记录

需求场景: 部署一套sftp环境,用于客户上传电子文件(合同文件或视频文件等),文件上传到sftp后立即实时同步到业务应用服务器上。为了安全考虑,文件在首次同步...

2167
来自专栏james大数据架构

如何开发自己的搜索帝国之Elasticsearch

搜索引擎是什么?   搜索引擎是指根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索相关的信息展示...

2017
来自专栏流柯技术学院

CentOS 6.8下安装docker并使用

Docker是一个开源的应用容器引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。利用Linux的LXC、AUFS、Go语言、cgroup实...

782
来自专栏Java帮帮-微信公众号-技术文章全总结

三个技巧,将Docker镜像体积减小90%【面试+工作】

在构建Docker容器时,应该尽量想办法获得体积更小的镜像,因为传输和部署体积较小的镜像速度更快。

531
来自专栏ytkah

帝国cms用户密码忘记怎么修改

帝国CMS7.2忘记后台密码怎么找回呢?有时候经常会忘记用户密码,我们可以通过修改数据库的值来初始化密码,下面就和ytkah一起来操作吧 1:进入phpmyad...

2656
来自专栏刺客博客

艾特文件管理器 1.8

2145
来自专栏java学习

项目管理工具Maven1

Maven是apache下的开源项目,项目管理工具,管理java项目。

581

扫码关注云+社区