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" 参考 ----- 1. `Tmux: Productive Mouse-Free Development `_ 2. `TMUX: The Terminal Multiplexer (Part 1) `_ 3. `TMux: The Terminal Multiplexer (Part 2) `_ 4. `使用 Tmux `_