Tmux 使用笔记

命令行

tmux new[-session] -s name -d 新建会话(-d 是否在后台)
tmux new -s name -n windowname 新建会话及窗口
tmux at[tach] -t session 重新连接(-t 后接会话名称)
tmux ls 显示保存的会话
tmux kill-session -t session 删除会话

tmux 命令

输入 tmux 命令的两种方式

  1. Pre : [command]
  2. 在另一个终端,输入 tmux [command] -t sessionname
choose-buffer 显示所有buffer的内容并粘贴
list-buffer 显示所有buffer
save-buffer -a -b N output 将N号buffer的内容输出(-a 表示添加内容)
show-buffer -b N 显示N号buffer
set-buffer -b N data 将N号buffer的内容重置
capture-pane 将当前面板的内容抓取至0号buffer中
swap-pane -s sp -t tp 交换sp和tp
break-pane 将面板变成窗口
join-pane -s Sess:S.p -t TSess:T.p 将Sess会话中S窗口中的p面板(比如0:1.1)合并至T窗口中的面板
new-window -n name “shell command” 新建窗口并执行命令
move-window -r -s Sess:w -t Sess:w 在会话间移动窗口

快捷键绑定

注意 :部分非默认绑定,需结合下节的配置文件使用。

Pre [/ESCAPE 进入复制模式
Pre [N] ]/p 复制buffer内的内容
Pre = 选择并粘贴buffer
Pre ( 前一个会话
Pre ) 后一个会话
Pre c 新建窗口
Pre , 改变窗口的名字
Pre $ 改变会话的名字
Pre x 前一个窗口
Pre n 后一个窗口
Pre C-h/C-l 前后窗口
Pre [0-9] 选择窗口
Pre f 搜索窗口
Pre w 列出所有窗口并选择
Pre . 移动窗口到新的编号
Pre & 退出窗口
Pre Alt-[1-5] 切换面板的布局
Pre Space 切换面板布局
Pre C-o 顺序轮换面板
Pre M-o 逆序轮换面板
Pre {/} 上/下交换面板(swap-pane -U/-D)
Pre o 切换当前面板
Pre l/r/u/d 切换当前面板
Pre C-l/r/u/d 改变面板大小
Pre L/R/U/D 改变面板大小
Pre q 显示面板编号并选择
Pre ! 将面板改为窗口
Pre % 竖排新建面板
Pre “ 横排新建面板
Pre z 关闭面板

参考配置文件

# setw == set-window-option
# set -s server option
# set -g global option
# bind == bind-key

# add manpage highlight
set -g default-terminal "screen-it"
set -g prefix C-s
# get out of delay time
set -sg escape-time 1
# repeat-time
set -g repeat-time 1000

# let window/pane begin at 1
set -g base-index 1
set -g pane-base-index 1

setw -g mode-keys vi

# status-bar
set -g status-utf8 on
set -g status-left-length 40
set -g status-left "#[fg=black]Session: #S #[fg=blue]#I #[fg=red]#P"
set -g status-right "#[fg=black]%d %b %R"
set -g status-justify centre

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


# keybinds
unbind C-b
bind C-s send-prefix

bind r source-file ~/.tmux.conf \; display "Reloaded!"

# windows
bind -r C-h select-window -t :-
bind -r C-l select-window -t :+
bind x last-window

# panes
bind | split-window -h
bind -r h select-pane -L
bind -r j select-pane -D
bind -r k select-pane -U
bind -r l select-pane -R
bind -r H resize-pane -L 5
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r L resize-pane -R 5

bind z kill-pane

# copy and paste
bind Escape copy-mode
bind p paste-buffer
bind -t vi-copy 'v' begin-selection
bind -t vi-copy 'y' copy-selection

# toggle log pane
bind P pipe-pane -o "cat >>~/#W.log" \; display "Toggled logging to ~/#W.log"

Table Of Contents

Previous topic

解决 Tmux 中 manpage 无法搜索高亮

Next topic

解决Fedora下urxvt256c中ls显示不正常的问题

This Page