Tmux 配置¶
快捷键 & 速查表¶
- 启动新会话:
- 恢复会话:
- 列出所有会话:
- 关闭会话:
- 关闭所有会话:
在 Tmux 中,按下 Tmux 前缀 ctrl+b,然后: - 会话
- 窗口 (标签页)-
调整窗口排序
- 窗格(分割窗口)- 重调窗格的尺寸 - 杂项:% 垂直分割 " 水平分割 o 交换窗格 x 关闭窗格 ⍽ 左边这个符号代表空格键 - 切换布局 q 显示每个窗格是第几个,当数字出现的时候按数字几就选中第几个窗格 { 与上一个窗格交换位置 } 与下一个窗格交换位置 z 切换窗格最大化/最小化
安装插件¶
- 安装tpm
- 刷新tmux配置文件
- 安装插件
Tips
如果在配置了256色后,发现在tmux中运行的程序(如vim)依然没有256色,那么使用tmux -2
命令启动,强制使用256色。
如果系统是gbk
编码,但是SSH终端却使用utf-8
编码连接,那么在启动时需要添加-u
选项,强制使用utf-8
,不然会出现乱码、花屏。
可以在.bash_aliases
中添加alias tmux="tmux -2 -u"
配置文件¶
参考配置文件(~/.tmux.conf):
# -----------------------------------------------------------------------------
# Tmux 基本配置 - 要求 Tmux >= 2.3
# 如果不想使用插件,只需要将此节的内容写入 ~/.tmux.conf 即可
# -----------------------------------------------------------------------------
# C-b 和 VIM 冲突,修改 Prefix 组合键为 Control-Z,按键距离近
set -g prefix C-z
unbind C-b
set -g base-index 1 # 窗口编号从 1 开始计数
set -g @scroll-speed-num-lines-per-scroll 1 #滚动速度
set -g display-panes-time 10000 # PREFIX-Q 显示编号的驻留时长,单位 ms
set -g mouse on # 开启鼠标
set -g pane-base-index 1 # 窗格编号从 1 开始计数
set -g renumber-windows on # 关掉某个窗口后,编号重排
setw -g allow-rename off # 禁止活动进程修改窗口名setw -g automatic-rename off # 禁止自动命名新窗口setw -g mode-keys vi # 进入复制模式的时候使用 vi 键位(默认是 EMACS)
set -g set-clipboard on
set -g pane-border-style fg=gray
set -g pane-active-border-style fg=green
set -g pane-active-border-fg green
set -g pane-border-fg gray
# -----------------------------------------------------------------------------
# 使用插件 - via tpm
# 1. 执行 git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
# 2.tmux source ~/.tmux.conf
# 3. 执行 bash ~/.tmux/plugins/tpm/bin/install_plugins
# -----------------------------------------------------------------------------
setenv -g TMUX_PLUGIN_MANAGER_PATH '~/.tmux/plugins'
# 推荐的插件(请去每个插件的仓库下读一读使用教程)
set -g @plugin 'seebi/tmux-colors-solarized'
set -g @plugin 'tmux-plugins/tmux-pain-control'
set -g @plugin 'tmux-plugins/tmux-prefix-highlight'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'nhdaly/tmux-better-mouse-mode'
# tmux-resurrect
set -g @resurrect-dir '~/.tmux/resurrect'
# tmux-prefix-highlight
set -g status-right '#{prefix_highlight} #H | %a %Y-%m-%d %H:%M'
set -g @prefix_highlight_show_copy_mode 'on'
set -g @prefix_highlight_copy_mode_attr 'fg=white,bg=blue'
# 1. [默认]每隔15分钟自动保存,当然你可以连按两次<prefix>键手动保存
# 2. [需要设置]通电后自动打开tmux
# 3. 开启tmux后自动恢复上一个保存的环境
set -g @continuum-restore 'on'
# 4.保存终端里的内容
set -g @resurrect-capture-pane-contents 'on'
# 5.for vim
set -g @resurrect-strategy-vim 'session'
# 6.for neovim
set -g @resurrect-strategy-nvim 'session'
# 初始化 TPM 插件管理器 (放在配置文件的最后)
bind r source-file ~/.tmux.conf \; display-message "Config reloaded.."
set -g terminal-overrides 'xterm*:smcup@:rmcup@'
run '~/.tmux/plugins/tpm/tpm'
# -----------------------------------------------------------------------------
# 结束
# -----------------------------------------------------------------------------