Tmux使用

2019-12-10  本文已影响0人  Shad0wpf

创建新会话

tmux new -s Test

查看会话

tmux list-sessions

连接已有会话

tmux attach -t Test

tmux attach -t Test -r   #只读模式

断开会话

Ctrl + b, d

会话中的窗口操作

前缀按键,默认为Ctrl + b,以下命令,先按前缀键后再执行

命令 功能
c 创建新窗口
, 重命名当前窗口
0-9 切换窗口(下面有窗口编号,当前窗口后面有* )
( / p 切换到前一个窗口
) / n 切换到后一个窗口
d 分离当前客户端
L 切换会话
i 显示当前窗口信息
% 垂直分割窗口
" 水平分割窗口
方向键 切换窗格
空格 调整窗格排列方式
{/} 交换窗格
Ctrl + 方向键 调整窗口分割线
x 关闭当前窗格
z 最大化当前窗格(窗口名称后会添加*Z)
t 显示时间

Tmux插件

Oh My Tmux!

Pretty & versatile tmux configuration made with ❤️ (imho the best tmux configuration that just works)
Github:https://github.com/gpakosz/.tmux

默认没有~/.tmux.conf文件,Oh My Tmux是一套优化好的tmux配置。

cd ~
git clone https://github.com/gpakosz/.tmux.git
ln -s -f .tmux/.tmux.conf
cp .tmux/.tmux.conf.local .

tmux-plugin-manager

Github:https://github.com/tmux-plugins/tpm
使用apt安装

apt install tmux-plugin-manager

安装路径为/usr/share/tmux-plugin-manager

使用apt或克隆源码后,编辑~/.tmux.conf文件,添加以下几行内容:

#List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'

#Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'git@github.com/user/plugin'
# set -g @plugin 'git@bitbucket.com/user/plugin'

#Initialize TMUX plugin manager (添加到.tmux.conf文件最后一行)
run -b 'usr/share/tmux-plugin-manager/tpm'

tmux-logging

Github:https://github.com/tmux-plugins/tmux-logging

set -g @plugin '/tmux-plugins/tmux-logging'

然后进入Tmux,按prefix + I 刷新插件,tpm会自动下载该插件。

  1. 记录日志
    Toggle (start/stop) logging in the current pane.
    快捷键:prefix + shift + p
    File name format: tmux-#{session_name}-#{window_index}-#{pane_index}-%Y%m%dT%H%M%S.log
    File path: $HOME (user home dir)
    Example file: ~/tmux-my-session-0-1-20140527T165614.log

  2. 截屏
    Save visible text, in the current pane. Equivalent of a "textual screenshot".
    快捷键:prefix + alt + p
    日志文件名格式: tmux-screen-capture-#{session_name}-#{window_index}-#{pane_index}-%Y%m%dT%H%M%S.log
    文件保存路径: $HOME (user home dir)

NOTE: this functionality depends on the value of history-limit - the number of lines Tmux keeps in the scrollback buffer. Only what Tmux kept will also be saved, to a file.
Use set -g history-limit 50000 in .tmux.conf, with modern computers it is ok to set this option to a high number.

  1. 清除pane历史记录
    快捷键:prefix + alt + c

修改日志条数

#increase history size
set -g history-limit 10000

搜索、选择、复制

Ctrl-b + [,进入选择模式,可以设置VI的搜索快捷键进行搜索,按空格开始选择,按回车确认选择内容
Ctrl-b + ], 粘贴选择的内容

使用VI搜索快捷键

编辑~/.tmux.conf,添加一行内容:

# Use vim keybindings in copy mode
setw -g mode-keys vi

复制内容到系统剪贴板

# -- clipboard -----------------------------------------------------------------

# in copy mode, copying selection also copies to the OS clipboard
#   - true
#   - false (default)
# on macOS, this requires installing reattach-to-user-namespace, see README.md
# on Linux, this requires xsel or xclip

tmux_conf_copy_to_os_clipboard=true

支持鼠标模式

# start with mouse mode enabled
set -g mouse on

Xshell中,开启鼠标模式后,按住Shift点击邮件,调出Xshell的右键菜单。

配置文件

.tmux.conf

上一篇下一篇

猜你喜欢

热点阅读