💠

💠 2024-09-20 11:52:03


Tmux

Arch wiki: tmux

tmux简洁教程及config关键配置
参考: 程序员高效技巧系列
Tmux

Byobuwindow manager and terminal multiplexer.

libtmuxPython lib操作Tmux动作


基本操作

  • 新建会话 tmux new -s myth
  • 连接会话 tmux a -t test
  • 显示所有 tmux ls
  • 重新加载配置文件 tmux source ~/.tmux.conf

快捷键

  • prefix
    • ? 帮助
    • s 选择 session
    • w 选择 window
    • d deattach 脱离
    • j 下 panel
    • k 上 panel
    • ; 最近的 panel
    • $ 重命名 session
    • , 重命名 panel
    • Alt+方向键 往指定方向扩展当前 panel 大小
  • Alt+方向键 跳转到对应方向的panel上

编译安装

场景: 目标机器Linux内核版本较低,或者是Debian Centos等发行版,源中没有高版本的Tmux,甚至没有Tmux,这个时候通过静态编译安装,能在影响最小的情况下使用上新版本的Tmux

因为低版本Tmux不支持鼠标,导致无法使用滚轮上翻命令输出记录。

CentOS 静态编译但是在Centos6上没成功 内核3.10 gcc 4.6.8


配置

Oh My Tmux!

个人配置

Tmux配置文件

步骤

  1. ln -s $(pwd)/tmux.conf ~/.tmux.conf
  2. git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
  3. tmux source ~/.tmux.conf
  4. Ctrl A, I 等待插件安装完成

.tmux tmux配置(和前文的配置效果基本一致)


开启鼠标选择与复制

1
    set -g mouse on
  1. 按住Shift即可照常使用鼠标选中文本
  2. 在顶部或底部的tab列表区域可用滚轮快速切换tab

键绑定

Prefix 默认是 C-b 也就是 Ctrl b

tmux: how to bind a key to launch shell command?

  • bind-key {key} {action}
    • bind-key -T root {key} {action} 无需prefix 即可触发key

action

  • send-keys
    • 例如 bind-key -T root F9 send-keys 'cola' Enter F9即可在终端运行 git-cola
  • run-shell
  • source 和 source-file
  • select-pane
  • split-window

切换

  • prefix w 切换 window 或者 Session
  • Prefix () 切换 Session

TPM插件管理

git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

参考: 保存和恢复 Tmux 会话

tmux-modal 快速操作切换和创建 window panel

  • prefix I 安装新增的插件

tmux-resurrect

tmux-resurrect
tmux-continuum

prefix c-s 保存会话 prefix c-r 加载历史会话

maglev

Github

copycat

Github

使用: prefix / 可用 less 一样的方式搜索


Advanced

Github wiki: Advanced use


Tips

bash: append_path: command not found when open tmux

set-option -g default-command '/bin/bash' 追加到 tmux.conf 即可解决,如果使用 zsh 则是 /usr/bin/zsh