这篇文章继续介绍一下tmux中两个比较使用的技巧,复制模式(copy mode)与窗格全屏,结合起来能够较好地提升效率。
tmux和GNU Screen一样,可以用作分屏,在确认整体信息时非常有效,但是由于将一个屏幕进行了拆分,当确认某个窗格信息时,即使是设定了滚动模式,因为窗格的大小受限,难免会觉得显示的内容不足。这时则可以使用tmux的窗格全屏功能,暂时将正在处理的窗格进行全屏操作,处理完之后再进行复原。
窗格全屏快捷键:Ctrl + b → z
退出窗格全屏快捷键:Ctrl + b → z
复制模式拷贝模式中主要包含两个特性:
- 屏幕取词:复制粘贴是日常的常用操作,复制的过程中,选择特定的内容的操作在tmux中可以进行简化。
- 操作日志查询:在tmux所在窗格中进行查询特定的内容,操作者可以像使用vi或者emacs一样进行查询和搜索工作,可以在tmux的日志中进行查询,非常方便。
操作方式:
复制模式:Ctrl + b → [
设定查询方式:set-window-option -g mode-keys vi/emacs 可以设定为vi或者emacs,这样就可以像在vi或者emacs下搜索文本信息一样搜索所在窗格的tmux日志信息了
-
屏幕取词方法 在拷贝模式下,按下空格键开始选择拷贝内容,使用Ctrl + b → ]进行粘贴即可。
-
操作日志查询 在拷贝模式下,设定了mode-keys之后,如果是vi,直接按下/键,输入查询内容即可进行查询了,之后的快捷键也和vi一致,比如使用n查看下一个,就像vi中一样操作。希望继续操作时,按下Enter键即可退出vi的模式。
liumiao@liumiaocn ~ % sw_vers ProductName: Mac OS X ProductVersion: 10.15.2 BuildVersion: 19C57 liumiao@liumiaocn ~ % echo $SHELL /bin/zsh liumiao@liumiaocn ~ % tmux -V tmux 2.9a liumiao@liumiaocn ~ %创建会话
执行如下命令,创建名为test-copy-mode的会话
执行命令:tmux new -t test-copy-mode
将窗格进行如下划分
序号为2的窗格(执行pwd的窗格)为当前的活动窗格,光标在此窗格之中,使用如下快捷键进入全屏模式
窗格全屏快捷键:Ctrl + b → z
然后输入ps命令进行操作,之后使用同样的快捷键退出全屏
使用如下命令设定查询模式为vi
设定查询方式:tmux set-window-option -g mode-keys vi
使用如下快捷键进入复制模式
复制模式:Ctrl + b → [
由于此时设定为vi方式,所以此时输入/即可输入查询内容,此处设定为tmux
按下Enter键,即可确认出查询结果,然后可以按照vi的快捷键进行查询结果确认