`
kingquake21
  • 浏览: 270036 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用多终端管理利器tmux

阅读更多

tmux (http://tmux.sourceforge.net/),linux下的一个多终端管理器,最喜欢它的一个窗口多个pane的方式,可以在一个界面下同时看到多个终端,如果在远程服务器上运行tmux,则可以只需连接一次服务器

 

一个tmux命令执行后启动一个tmux服务

一个tmux服务可以拥有多个session,一个session可以看作是tmux管理下的伪终端的一个集合

一个session可能会有多个window与之关联,每个window都是一个伪终端,会占据整个屏幕

一个window可以被分割成多个pane

 

多个pane的编号规则,以3个pane为例

 

   0

1  |  2

 

通常的做法是一个session一个window多个pane,如何操作pane就比较重要了

首先所有的tmux操作都需要先按下ctrl-b,再跟其他的命令

!   将当前的pane从当前的window中移出到一个新的window中

x   kill当前的pane

&  kill当前的window

"   将当前的pane分割成上下的两个pane

% 将当前的pane分割成左右两个pane

q   显示pane的序号

{   将当前的pane与前一个pane交换位置,光标仍在当前的pane上

}   将当前的pane与后一个pane交换位置,光标仍在当前的pane上

上\下\左\右    将光标在上\下\左\右的pane间移动

M-1 to M-5   分别对应五种布局:even-horizontal, even-vertical, main-horizontal, main-vertical, or tiled

C-o   会向前旋转pane的位置,原来为0的pane被原来为1的pane替换,如果从上面的pane 0位置旋转一次,会成下面的状态

          1

       2  |  0

       再执行一次会变成

           2

       0  |  1

M-o   会向后旋转pane的位置,原来为0的pane被原来为2的pane替换,如果从上面的pane 0位置旋转一次,会成下面的状态

   2

0  |  1 

再执行一次会变成

   1

2  |  0

C-上\下\左\右    调整当前pane的size,一个单位一个单位的调整

M-上\下\左\右    调整当前pane的size,五个单位五个单位的调整

 

上面所有的按键都能重新设置,配置文件在~/.tmux.conf中,或/etc/tmux.conf中

例如:

#此类配置可以在命令行模式中输入show-options -g查询
set-option -g base-index 1                        #窗口的初始序号;默认为0,这里设置为1
set-option -g display-time 5000                   #提示信息的持续时间;设置足够的时间以避免看不清提示,单位为毫秒
set-option -g repeat-time 1000                    #控制台激活后的持续时间;设置合适的时间以避免每次操作都要先激活控制台,单位为毫秒
set-option -g status-keys vi                      #操作状态栏时的默认键盘布局;可以设置为vi或emacs
set-option -g status-right "#(date +%H:%M' ')"    #状态栏右方的内容;这里的设置将得到类似23:59的显示
set-option -g status-right-length 10              #状态栏右方的内容长度;建议把更多的空间留给状态栏左方(用于列出当前窗口)
set-option -g status-utf8 on                      #开启状态栏的UTF-8支持

#此类设置可以在命令行模式中输入show-window-options -g查询
set-window-option -g mode-keys vi    #复制模式中的默认键盘布局;可以设置为vi或emacs
set-window-option -g utf8 on         #开启窗口的UTF-8支持

#将激活控制台的快捷键由Ctrl+b修改为Ctrl+a,Ctrl+a是terminal的快捷键(回到行首),建议别修改
#set-option -g prefix C-a
#unbind-key C-b
#bind-key C-a send-prefix

#添加自定义快捷键
bind-key z kill-session                     #按z结束当前会话;相当于进入命令行模式后输入kill-session
bind-key h select-layout even-horizontal    #按h将当前面板布局切换为even-horizontal;相当于进入命令行模式后输入select-layout even-horizontal
bind-key v select-layout even-vertical      #按v将当前面板布局切换为even-vertical;相当于进入命令行模式后输入select-layout even-vertical
分享到:
评论

相关推荐

    tmux Taster.pdf

    通过熟练掌握`tmux`,你可以在一个终端窗口中高效地完成多个任务,无论是日常开发、系统管理还是远程协作,`tmux`都能为你带来极大的便利。不断探索其高级功能,你会发现它成为了不可或缺的生产力工具。

    tmux-3.0a.tar.gz

    总的来说,tmux 3.0a版本作为一款强大的终端复用器,不仅提高了工作效率,还简化了多任务的管理工作,对于开发人员、系统管理员以及任何频繁使用命令行工具的用户来说,都是不可或缺的利器。通过深入学习和熟练掌握...

    静态编译的tmux,x86版本,v3.3a

    **tmux:强大的终端复用器**...总的来说,tmux是提升终端效率的利器,尤其适用于需要多任务并行处理或协同工作的开发者和系统管理员。静态编译的tmux v3.3a提供了一种更便捷的部署方式,确保在各种环境中都能顺利运行。

    【Operate System-Linux】Tmux-1.8.tar.gz

    Tmux源自于一个名为“tmux”(终端多路复用器)的英文缩写,其设计目的是提供一种高效、灵活的方式来管理多个命令行会话,尤其是在远程服务器上工作时,能够显著提高生产力。 Tmux的核心功能包括: 1. **窗口管理*...

    Python-libtmux用Python编写的tmux工作区管理器

    Python-libtmux是一个强大的库,专门用于通过Python编程语言与tmux(一个终端多路复用器)进行交互。这个库使得开发者能够自动化和管理tmux的工作区,从而提高他们在命令行界面下的工作效率。在本文中,我们将深入...

    tmux-fzf-url:terminal在终端屏幕上快速打开URL!

    `tmux` 是一个终端多路复用器,允许用户在一个终端窗口中创建多个独立的会话,每个会话可以视为一个单独的终端窗口。它极大地提高了终端的使用效率,特别是在多任务操作时,用户无需频繁地切换窗口或分屏。 接着,`...

    linux-结合vimtmuxzsh干活也是一种享受

    为了提高工作效率,很多开发者会选择使用高级工具,如vim、tmux和zsh,这些工具能帮助他们更高效地进行代码编辑、多任务处理以及交互式Shell的个性化定制。本篇文章将详细介绍如何利用vim、tmux和zsh提升Linux开发...

    tmux-thumbs:以Rust编写的tmux-finger的闪电般快速版本,像vimiumvimperator一样复制tmux

    `tmux` 是一个终端多路复用器,允许用户在一个终端窗口中管理多个会话,而 `tmux-thumbs` 则进一步提升了 `tmux` 的易用性和效率。 首先,我们来了解一下 `tmux`。`tmux` 允许用户创建、分离和切换终端会话,这对于...

    evil-tmux-navigator:无缝导航Emacs和tmux拆分

    这个工具的主要目的是简化在Emacs编辑器内的evil模式(一个高度兼容Vim的Emacs模式)和tmux终端多窗口管理器之间的切换。通过整合这两个强大的工具,开发者可以更加高效地在代码编辑和命令行操作之间切换。 Emacs是...

    iterm - mac超级好用的ssh管理工具

    10. **集成Tmux**:与Tmux会话管理器无缝集成,允许用户在多个shell会话间切换。 **使用场景:** iTerm适用于开发人员、运维工程师、系统管理员等需要频繁与Linux服务器交互的用户。例如,他们可以使用iTerm进行...

    vim-tmux-pilot:统一导航nvim和tmux中的拆分和制表符

    **Vim** 是一款极其强大的文本编辑器,而 **tmux** 是一个终端复用器,它允许在一个终端窗口内创建多个会话,每个会话可以包含多个窗口,每个窗口又可以进一步拆分为多个面板。`vim-tmux-pilot` 将这两个工具的特性...

    iTerm Mac终端工具

    iTerm还集成了现代的终端特性,例如通过tmux集成实现窗口和面板的管理,以及对Unicode和ASCII字符的完美渲染。它支持256色和True Color,使得终端显示的颜色更加丰富和准确。对于Git用户,iTerm能显示git状态指示器...

    ssh连接Linux的利器

    6. **屏幕会话管理**:SSH还支持`screen`或`tmux`工具,这两个工具可以在远程会话中创建多个独立的终端窗口,即使断开连接,窗口状态也会被保存,再次连接时可以恢复。 7. **SSH配置文件**:在本地的`~/.ssh/config...

    Ubuntu工具zsh和Byobu

    Byobu支持tmux和screen两种后台会话管理器,它们都可以在你退出终端后继续运行程序,即使远程连接断开,程序也不会被杀死。Byobu的这些特性使得它成为系统管理员和开发者在终端操作中的得力助手。 总结来说,Ubuntu...

    tmuxsplit:用于tmux的bash脚本,它基于正则表达式主机名种子打开窗格

    `tmuxsplit` 是一个专为...总的来说,`tmuxsplit` 是一个提高 `tmux` 用户生产力的利器,它简化了多主机管理过程,尤其适合需要频繁在多个远程服务器间切换的场景。熟练使用 `tmuxsplit`,能够极大地提升日常工作效率。

    在Linux 命令行终端分屏的两种工具

    在Linux操作系统中,命令行终端分屏是一种提高效率的工作方式,尤其对于开发者和系统管理员而言。本文将详细探讨两种主流的Linux终端分屏工具:screen和tmux。 首先,我们来了解一下screen。Screen是一个强大的终端...

    MobaXterm_Personal_22.0.rar

    它以其高效、多功能和易用性著称,尤其对于开发者和系统管理员来说,是日常工作中不可或缺的利器。MobaXterm_Personal_22.0.rar这个压缩包文件,内含MobaXterm_Personal_22.0.exe可执行程序,正是我们深入了解这款...

    iTerm2-3_3_6.zip

    还有与tmux的无缝集成,使得会话可以在多个终端之间同步,对于远程工作尤其有用。 在性能方面,iTerm2使用了先进的渲染技术,使得终端输出更加流畅,响应速度更快。它还支持Powerline符号,使得支持Powerline的vim...

    iterm2工具

    此外,通过集成的“tmux”支持,用户可以在远程服务器上实现多窗口多面板的操作,管理复杂的远程工作流程。 iTerm2还引入了“Instant Replay”功能,这是一项独特的记录与回放功能,可以记录你的所有命令行操作,...

    iTerm.app.zip

    此外,通过配合使用像`screen`或`tmux`这样的多窗口管理工具,可以在单个SSH会话中管理多个Linux终端窗口,提高多任务处理能力。 总之,iTerm.app作为Mac用户连接Linux的首选工具,以其丰富的功能和高度的可定制性...

Global site tag (gtag.js) - Google Analytics