tmu学习笔记

tmux简单介绍

tmux是一款终端复用工具,我主要在ssh时使用它。类似的有screen,以后有空再学。

当初在windows上可以使用xshell进行ssh连接,非常好用。换到mac上就没有那么好用的工具了,只能使用terminal或者iterm2,克隆会话啥的需要配置,比较麻烦,还是学学tmux比较好。

最常见的使用场景就是使用tmux开左右两个pane,一边vim,一边shell或者看日志。

基本概念

session

会话,一个服务器上可以包含多个session,在终端输入tmux就可以打开一个新的session

window

窗口,一个session可以包含多个window

pane

面板,一个window可以包含多个pane(即分屏)

入门

最开始只需要掌握以下几个命令

  1. 默认的prefix-command

  2. ?列出所有快捷键,按q返回

  3. %左右分屏

  4. "上下分屏

  5. 方向键在pane之间转换

  6. x关闭当前pane

  7. &关闭当前window

掌握了这几个命令,基本就能使用tmux了

最重要的就是记住这个prefix-command,在tmux内执行任何操作前都需要按这个组合键。这个前缀组合按键当然是可以在配置文件里修改的,后面会介绍。

进阶

主要介绍一下比较常用的进阶操作,过于冷门的操作就不做介绍了。

基本操作

以下操作,在终端中执行时需要加上tmux,如新建一个名为“test”的session的命令为tmux new -s "test";在tmux内,先按ctrl+b,然后输入:就可以敲命令了

new              # Create a new session -s "Session"    # Create named session -n "Window"     # Create named Window -c "/dir"       # Start in target directoryattach           # Attach last/available session -t "# "          # Attach target session -d              # Detach the session from other instancesls               # List open sessions -a              # List all open sessionslsw              # List windows -a              # List all windows -s              # List all windows in sessionlsp              # List panes -a              # List all panes -s              # List all panes in session -t              # List all panes in targetkill-window      # Kill current window -t "# "          # Kill target window -a              # Kill all windows -a -t "# "       # Kill all windows but the targetkill-session     # Kill current session -t "# "          # Kill target session -a              # Kill all sessions -a -t "# "       # Kill all sessions but the target

session操作

在tmux内,先按ctrl+b:

命令
说明

s
列出所有session,然后可以切换session

$
重命名当前session

d
离开当前session,回到终端

window操作

在tmux内,先按ctrl+b:

命令
说明

c
create window,新建窗口

&
关闭当前窗口

数字键
切换到指定窗口

w
列出所有窗口,然后可以切换窗口

,
重命名当前窗口

p
previous window,切换到上一窗口

n
next window,切换到下一窗口

l
前后窗口间互相切换

.
修改当前窗口编号,只能改为当前没被占用的编号

f
find window,在所有窗口中查找关键词,便于在多个窗口间切换

pane操作

在tmux内,先按ctrl+b:

命令
说明

"
将当前面板上下分屏

%
将当前面板左右分屏

x
关闭当前面板

方向键
选择对应的面板

q
显示当前窗口内所有面板的编号,马上按下数字键可转到指定面板

z
tmux1.8加入的功能,将当前面板最大化

o
选择当前窗口中下一个面板

ctrl+方向键
以1个单元格为单位移动边缘以调整当前面板大小

alt+方向键
以5个单元格为单位移动边缘以调整当前面板大小

复制粘贴

  1. 按ctrl+b [进入复制模式

  2. 默认使用方向键进行移动,可以在配置文件中设置setw -g mode-keys vi来使用vi模式进行移动

  3. 移动到想复制的地方后,按空格键之后再移动光标就可以开始选择文本了

  4. 选择完成后,按回车键完成复制

  5. 按ctrl+b ]粘贴

配置文件

配置文件为~/.tmux.conf,在tmux启动时自动加载设置,如同vimrc。

可配置内容包括通用内容(编码、历史记录、鼠标等)、快捷键绑定、主题和UI。

我只设置了底部状态栏的样式,效果如下图:

配置内容为:

# 颜色set -g status-bg blackset -g status-fg white# 位置set-option -g status-justify centre# 左侧set-option -g status-left '# [bg=black,fg=green][# [fg=cyan]# S# [fg=green]]'set-option -g status-left-length 20# 中间的window列表setw -g automatic-rename onset-window-option -g window-status-format '# [dim]# I:# [default]# W# [fg=grey,dim]'set-window-option -g window-status-current-format '# [fg=cyan,bold]# I# [fg=blue]:# [fg=cyan]# W# [fg=dim]'# 右侧set -g status-right '# [fg=green][# [fg=cyan]%Y-%m-%d# [fg=green]]'

参考资源

  1. A Tmux crash course: tips and tweaks.

  2. tmux shortcuts & cheatsheet

  3. learn Tmux in Y minites

关键字:linux, tmux

版权声明

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部