tmux配置及体验

| categories installation  | tags tool 

为什么需要tmux

因为在ubuntu环境下常常需要打开多个终端,而使用Alt+Tab键切换时你会发现所有的gnome-terminal都被折叠在了一起,如果需要切换到某个特定的terminal,就需要按很多次tab键,稍有不慎切过去了,又得重新来过。用鼠标点击移来移去很烦,而用tab键时也会因为鼠标而切换失败。

terminal有一个标签页可以切换,使用Ctrl+Shift+T可以新建一个tab,而使用Ctrl+Shift+W则可以关闭当前tab页,使用Ctrl+PageDown切换到下一个tab页。其实使用起来也还方便。但也同样存在类似的缺陷。

于是我开始尝试使用ubuntu的一个终端分屏工具 tmux

tmux安装及配置

安装tmux很方便,只需要一行命令即可完成安装

sudo aptitude install tmux

tmux的快捷键都有一个前缀,一般默认是Ctrl+b,而且这里一个坑点就是所有的快捷组合键都是先按下Ctrl+b松开后再按其他键,这样才能生效。我一开始是同时全部按下,快捷键都无法使用,也是很郁闷。

在使用的时候我们可以将前缀设为Ctrl+a,这样手指就不会很难受。

#修改~/.tmux.conf文件添加我们的配置,该文件可能需要你新建
gedit ~/.tmux.conf

在~/.tmux.conf中如下编辑

set -g prefix C-a
unbind C-b

第一行命令是将前缀设置为Ctrl+a,而第二行命令是将原先的前缀解绑

在之后我们需要进入一个tmux会话里,当然是需要你先新建的。

新建命令

tmux new -s session-name

进入这个终端后,先按Ctrl+b后输入”:”进入命令行模式,再敲入命令

source-file ~/.tmux.conf

就可以成功就前缀更新为Ctrl+a了。因为这里更换了前缀键,所以以下的基本命令也都是基于这个Ctrl+a敲下的。如果你没有更改你的前缀的话,在输入命令时就要注意仍然是Ctrl+b了。

出错的解决方案

我在刚刚安装好tmux后,尝试新建一个session,但是会出现错误提示,提示信息如下

sessions should be nested with care, unset $TMUX to force

解决方案如下:在terminal中执行以下命令即可

unset TMUX

tmux基本命令

以下将简单介绍几个常用的命令

#显示可用的会话
tmux ls
#当然你也可以在进入tmux后按下Ctrl+a(前缀键)再按下s,上下键切换会话

#新建一个会话,建议取名要有意义,方便切换
tmux new -s <name-of-my-session>
#在后台建立会话
tmux new -s <name-of-my-session> -d

#接入第一个可用的会话
tmux a
#其实等效于tmux attach

#接入一个指定名的会话
tmux a -t session-name

#从会话中断开
tmux detach
#当然也可用组合键Ctrl+a(前缀)后按d断开会话

#关闭会话
tmux kill-session -t session-name

#窗格分屏
Ctrl-a % #分成两竖屏
Ctrl-b % #分成两横屏
#在窗格键移动只需要使用组合键Ctrl+a后按下上下左右的方向键即可切换

补充

tmux配合zsh,如果将tmux的按键修改成vim模式的话,终端的体验是很棒的。但是我也是刚刚接触tmux,因此给出的可供学习的命令也不多。所以未来会继续补充相应的命令进行完善。


Previous     Next