Tmux, 大牛必会的多终端工具

2024年 1月 5日 57.8k 0

tmux是一个功能强大的终端复用工具,它可以在一个终端窗口中创建多个会话,并提供了许多有用的功能,如会话管理、窗口划分、快捷键等。本文将介绍tmux的基本用法和高级用法,帮助您更好地了解和使用该工具。

基本用法:

  • 启动一个新的tmux会话:
  • tmux new-session -s mysession

    这个命令将创建一个名为"mysession"的新tmux会话,并将我们带入到该会话中。

  • 在会话中创建窗口和窗格:
  • tmux new-window -n window1
    tmux split-window -v

    第一条命令创建了一个名为"window1"的新窗口,并将光标定位于该窗口中。第二条命令在当前窗口中创建了一个垂直划分的窗格。

  • 切换窗口和窗格:
  • tmux select-window -t window1
    tmux select-pane -U

    第一条命令将光标切换到名为"window1"的窗口,第二条命令将光标向上移动到上方的窗格。

  • 执行命令:
  • tmux send-keys -t window1 'ls' Enter

    这个命令将在名为"window1"的窗口中执行ls命令。

  • 分离和恢复会话:
  • tmux detach
    tmux attach-session -t mysession

    第一条命令将分离当前的tmux会话,使您可以在后台继续运行会话。第二条命令将重新连接到名为"mysession"的tmux会话,并恢复之前的状态。

    高级用法:

  • 快捷键:tmux提供了丰富的快捷键,可以加快您在会话中的操作速度。例如:
    • Ctrl-b %:垂直划分当前窗口。
    • Ctrl-b ":水平划分当前窗口。
    • Ctrl-b arrow key:切换窗格。
    • Ctrl-b c:创建新窗口。
    • Ctrl-b p:切换到上一个窗口。
    • Ctrl-b n:切换到下一个窗口。
    • Ctrl-b d:分离当前会话。
  • 配置文件:tmux的配置文件位于~/.tmux.conf,可以自定义各种设置和键绑定。以下是一个示例配置文件:
  • # 使用鼠标滚轮切换窗格
    set -g mouse on
    
    # 设置主题为solarized
    set -g @solarized-dark 'on'
    set -g status-bg colour235
    set -g status-fg colour136
    
    # 自定义快捷键
    bind-key -n C-a send-keys C-a
    bind-key -n C-b send-keys C-b
    
    # 设置窗格划分比例
    bind-key -r -n C-h resize-pane -L 5
    bind-key -r -n C-j resize-pane -D 5
    bind-key -r -n C-k resize-pane -U 5
    bind-key -r -n C-l resize-pane -R 5
    
    # 自定义状态栏
    set -g status-left "Session: #S | "
    set -g status-right " %H:%M %d-%b-%y"

    解析:该配置文件做了以下操作:

    • 启用鼠标支持,允许使用鼠标滚轮切换窗格。
    • 设置主题为solarized,并定义了状态栏的背景颜色和前景颜色。
    • 自定义了一些快捷键,如将Ctrl-a映射为发送C-a键,将Ctrl-b映射为发送C-b键。
    • 设置了窗格划分比例的快捷键,如Ctrl-h将窗格向左缩小,Ctrl-j将窗格向下缩小,以此类推。
    • 自定义了状态栏的左边和右边内容,显示了会话名称和当前时间。

    总结:

    tmux是一个功能强大的终端复用工具,它提供了会话管理、窗口划分、快捷键等许多有用的功能。本文介绍了tmux的基本用法和高级用法,包括创建会话、窗口和窗格,切换和执行命令,以及更高级的功能如快捷键、配置文件、复制粘贴和会话共享。通过熟练掌握tmux的用法,您可以提高终端操作的效率和灵活性,使得在Linux系统中更加高效地进行工作和管理。

    配置文件样例展示了如何自定义tmux的设置和键绑定。您可以根据个人偏好和需求,修改配置文件来满足自己的使用习惯。通过灵活配置tmux,您可以进一步提升使用体验,并根据自己的喜好定制化终端环境。

    相关文章

    JavaScript2024新功能:Object.groupBy、正则表达式v标志
    PHP trim 函数对多字节字符的使用和限制
    新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
    使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
    为React 19做准备:WordPress 6.6用户指南
    如何删除WordPress中的所有评论

    发布评论