请稍侯

Tmux 初识

11 April 2015
更多

Tmux: Terminal Multiplexer

linux安装tmux最新版脚本

1. 基本命令

    1. 新建一个无名session:
      • tmux
    1. 显示有多少个session:
      • tmux list-session
    1. 新建有名字 sessionName 的session:
      • tmux new-session -s sessionName
    1. 脱离tmux, 断开session, 但保留现场:
      • ctrl+b+d (d: detachead):
      • C-b (Ctrl+b): Send the prefix key (C-b) through to the application.
    1. 重写连接session:
      • tmux attach-session -t sessionName
    1. 结束/杀死session:
      • tmux kill-session -t sessionName
    1. 删除所有session, 只要删除server即可, 因为所有的session的跑在一个server上:
      • tmux kill-server
    1. 一个server可以有多个session, 一个session上可以有多个窗口:
      • C-b c (ctrl+b +c): c: create, 在session中新建多窗口
      • C-b 窗口序号: 可以切换窗口, 如 C-b 0
    1. 一个窗口可以分割多个窗格:
      • C-b % : 分列
      • C-b “ : 分行
      • C-b o 或者 C-b 方向键: 切换窗格
      • C-d 结束当前窗格
    1. 获取帮助信息,快捷键:
      • C-b ?
    1. 执行快捷键两种方式:
        1. C-b + 快捷键
        1. C-b + : + 快捷键全称
    1. 在.tmux.conf配置:
      • 内容:
      • unbind C-b
      • set -g prefix C-a * 更新环境, 使配置生效:
      • C-b + : + source-file ~/.tmux.conf
      • 现在C-a 生效
  • 13 快捷键 C-b 来send prefix (默认): |ShortCut|Meanings| |:——:|:——:| |?|list-keys| |d|detach-client| |c|new-window| |n|next-window| |p|previous-window| |”|split-window| |%|split-window -h| |!|break-panel| |q|display-panels| |o|rotate-window| |0-9|select-window| |:|command-prompt|

    1. tmux Copy Mode 来支持鼠标滚轮:
      • C-b [
      • 类似vim的命令模式
      • 编辑 .tmux.conf, 添加:
      • set -g mode-keys vi * source-file ~/.tmux.conf
    1. 复制黏贴:
      • vim 复制:
        • 移到想要复制的位置, 敲空格建来开始复制命令
        • 然后vim方式移动
        • 敲回车结束复制操作
      • 粘贴: C-b ]

2. 远程服务器tmux

  • 如果远端一个命令阻塞, tmux就很好用了
  • 如果网络断开也不怕
  • tmux聊天, 分享窗口, 同步显示:
    • 只要对方attach同一个session即可: tmux a -t sessionName == tmux attach-session -t sessionName

3. .tmux.conf 配置: 下载地址

unbind C-b
set -g prefix C-a
setw -g mode-keys vi

# split window like vim
# vim's defination of a horizontal/vertical split is revised from tmux's
bind s split-window -h
bind v split-window -v
# move around panes with hjkl, as one would in vim after C-w
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

# resize panes like vim
# feel free to change the "1" to however many lines you want to resize by
# only one at a time can be slow
bind < resize-pane -L 10
bind > resize-pane -R 10
bind - resize-pane -D 10
bind + resize-pane -U 10

#bind : to command-prompt like vim
# this is the default in tmux
bind : command-prompt