k叔的收藏夹

tmux简洁教程及config关键配置

2017-04-06  本文已影响4421人  赤乐君

这个教程的目的是为了更好地使用tmux,作为一个小白,看了网上众多的资料后,感觉资料太多,质量也良莠不齐。在youtube上找了一个很好地系列教程,实际跟着做了一遍后tmux最有用的部分都学会了。有什么不懂得直接查查速查表即可。

本次教程的环境是MAC OS 10.11. 关于如何安装tmux可以参考这两篇文章。

http://cenalulu.github.io/linux/tmux/ : 了解session,window,pane的区别
http://harttle.com/2015/11/06/tmux-startup.html

这两篇是我个人觉得比较好的文章,可以看完这两篇文章后再来看我的教程。做一个梳理和总结。

这个教程是我跟着视频做完的笔记,视频里有些内容因为时间问题不能用,我也做了相应的改进。建议最好还是把视频跟一遍,然后拿我的笔记用做复习。

本教程参考的视频:https://www.youtube.com/watch?v=FEfuXRTqINg

快捷键速查表:https://tmuxcheatsheet.com

1 Introduction

为什么使用tmux?
因为如果我们用terminal连接remote server。发生一些不可抗力,terminal关了的话,your work is GONE!

但是tmux不一样,即使你关闭了tmux。下次重新attch的时候,你会发现之前的东西都还在。这是因为即使你关闭了tmux,它也还在服务器的后台运行。

举个栗子:
prefix + % :水平分割pane
上面这句话里的+号和:号可以无视。:号之后的内容是我写的注释。
prefix是按下ctrl和b, 然后再按%键,这个%键就是shift+5。

2 Panes

分割pane

退出

放大一个pane

在pane之间switch

resize the pane

3 Windows

创建window

在不同的window间移动

关闭window

重命名window:因为创建新的window后,下面除了数字编号不同外window名称都是一样的。所以为了知道每一个window是什么,最好重命名一下。

4 Configuration

如果没有配置文件的话先创建: touch ~/.tmux.conf
视频中的文件配置

# Send prefix
set-option -g prefix C-a
unbind-key C-a
bind-key C-a send-prefix

# Use Alt-arrow keys to switch panes
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D

# Shift arrow to switch windows
bind -n S-Left previous-window
bind -n S-Right next-window

# Mouse mode
set -g mode-mouse on
set -g mouse-resize-pane on
set -g mouse-select-pane on
set -g mouse-select-window on

# Set easier window split keys
bind-key v split-window -h
bind-key h split-window -v

# Easy config reload
bind-key r source-file ~/.tmux.conf \; display-message "tmux.conf reloaded"

首先,在更改了.tmux.conf后,在tmux里的快捷键没有变化。查找后发现是tmux只有在新建session的时候,才会去找tmux.conf文件。所以说,我之前创建的那些session都没有参考tmux.conf. 所以我就用tmux lstmux kill-session -a只保留当前session。再删除当前session tmux kill-session -t py27。这下删除了所有创建好的session。

然后再次用tmux new -s py27创建一个新的名为py27的session。有提示了,但是错误提示显示没有mode-mouse命令。google之发现在2.1之后的tmux版本里,已经废除了这个命令。想要开启mouse mode的话,只需要一个句命令即可set -g mouse on

更新后如下

# Send prefix
set-option -g prefix C-a
unbind-key C-a
bind-key C-a send-prefix

# Use Alt-arrow keys to switch panes
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D

# Shift arrow to switch windows
bind -n S-Left previous-window
bind -n S-Right next-window

# Mouse mode
set -g mouse on


# Set easier window split keys
bind-key v split-window -h
bind-key h split-window -v

# Easy config reload
bind-key r source-file ~/.tmux.conf \; display-message "tmux.conf reloaded"

Send prefix
把prefix的ctrl+b变为了ctrl+a,因为这样按起来方便些。基本上用tmux的都改了这个。

Use Alt-arrow keys to switch panes
不用按prefix,直接用alt+箭头在pane之间switch。实际用过之后才发现真是太方便了!

Shift arrow to switch windows
不用按prefix,直接用shift+箭头在window之间switch。太方便了!

Mouse mode
开启鼠标模式。用鼠标就能切换window,pane,还能调整pane的大小,方便!

Set easier window split keys
这一部分是用来更方便切分pane的。prefix + v 代表竖着切,prefix + h 代表横着切。比起默认的切割方法不仅直观而且方便。

Easy config reload
下一次如果修改了.tmux.conf的设置的话,不用关掉tmux。直接用prefix+r,就能重新加载设置。

5 Session

查看所有的session(在terminal输入)

更名session(tmux状态下输入)

创建session的时候直接命名(在terminal输入)

断开一个session(detached) (tmux状态下输入)

重新连接某一个session wich name(在terminal输入)

偷懒连接上一个session(在terminal输入)

删除session(在terminal输入)

上一篇下一篇

猜你喜欢

热点阅读