zoukankan      html  css  js  c++  java
  • 为什么使用tmux

    为什么使用tmux: 

    tmux比screen有更多的功能,能够保持你的工作环境连续性。例如tmux解决如下的问题:

    1)下班后,你需要断开ssh或关闭电脑,你的ssh连接将丢失;

    2)在公司打开的ssh,在家里也需要访问;

    tmux架构图:

     

    tmux使用C/S模型构建,主要包括以下单元模块:

    • 一个tmux命令执行后启动一个tmux服务
    • 一个tmux服务可以拥有多个session,一个session可以看作是tmux管理下的伪终端的一个集合
    • 一个session可能会有多个window与之关联,每个window都是一个伪终端,会占据整个屏幕
    • 一个window可以被分割成多个pane

    tmux的配置:

    ~/.tmux.conf (以下主要的作用:修改tmux命令激活按键为ctrl+c,)

     
    set-option -g base-index 1
    set-option -g display-time 5000
    set-option -g repeat-time 1000
    set-option -g status-keys vi
    set-option -g status-right "#(date +%H:%M' ')"
    set-option -g status-right-length 10
    set-option -g status-utf8 on
     
    set-window-option -g mode-keys vi
    set-window-option -g utf8 on
     
    set-option -g prefix C-a
    unbind-key C-b
    bind-key C-a send-prefix
     
    bind-key z kill-session
    bind-key h select-layout even-horizontal
    bind-key v select-layout even-vertical 

    tmux的使用问题: 

    使用putty连接到远程的机器是,需要设置windows->Translation->Remote characters set 为UTF-8, 否则tmux的windows中pane的间隔线显示有问题。

    在修改tmux的conf后,需要重启tmux服务, 此时需要ctrl+c / : kill-server。

    在多个panes的时候拷贝粘贴是个问题,需要ctrl+c / [ 进入复制模式。 

    tmux的常用按键:

    tmux #开启tmux
    tmux ls #列出会话 

    tmux attach -t session #进入某个会话  

    tmux -r 连接上次断开的session

    C-c d 临时断开session 断开以后,还可以连上的哟:) 

    C-c c 创建一个新的window
    C-c 数字 直接跳到你按的数字所在的window 
    C-c " 在下边分割出来一个pane  
    C-c % 在右边分割出来一个pane
    C-c o 在多个panes中切换 

    C-c x 关闭当前光标处的pane  

    更多的快捷键:

    Ctrl+c  #激活控制台;此时以下按键生效   
    系统操作   
        ?   #列出所有快捷键;按q返回   
        d   #脱离当前会话;这样可以暂时返回Shell界面,输入tmux attach能够重新进入之前的会话   
        D   #选择要脱离的会话;在同时开启了多个会话时使用   
        Ctrl+z  #挂起当前会话   
        r   #强制重绘未脱离的会话   
        s   #选择并切换会话;在同时开启了多个会话时使用   
        :   #进入命令行模式;此时可以输入支持的命令,例如kill-server可以关闭服务器   
        [   #进入复制模式;此时的操作与vi/emacs相同,按q/Esc退出   
        ~   #列出提示信息缓存;其中包含了之前tmux返回的各种提示信息   
    窗口操作   
        c   #创建新窗口   
        &   #关闭当前窗口   
        数字键 #切换至指定窗口   
        p   #切换至上一窗口   
        n   #切换至下一窗口   
        l   #在前后两个窗口间互相切换   
        w   #通过窗口列表切换窗口   
        ,   #重命名当前窗口;这样便于识别   
        .   #修改当前窗口编号;相当于窗口重新排序   
        f   #在所有窗口中查找指定文本   
    面板操作   
        ”   #将当前面板平分为上下两块   
        %   #将当前面板平分为左右两块   
        x   #关闭当前面板   
        !   #将当前面板置于新窗口;即新建一个窗口,其中仅包含当前面板   
        Ctrl+方向键    #以1个单元格为单位移动边缘以调整当前面板大小   
        Alt+方向键 #以5个单元格为单位移动边缘以调整当前面板大小   
        Space   #在预置的面板布局中循环切换;依次包括even-horizontal、even-vertical、main-horizontal、main-vertical、tiled   
        q   #显示面板编号   
        o   #在当前窗口中选择下一面板   
        方向键 #移动光标以选择面板   
        {   #向前置换当前面板   
        }   #向后置换当前面板   
        Alt+o   #逆时针旋转当前窗口的面板   

        Ctrl+o  #顺时针旋转当前窗口的面板   

      Ctrl-b t 很酷的一个时钟。

    完! 


    作者:iTech
    微信公众号: cicdops
    出处:http://itech.cnblogs.com/
    github:https://github.com/cicdops/cicdops

  • 相关阅读:
    ubuntu系统安装微信小程序开发工具
    【工具】vscode-代码编辑器详解
    微信小程序开发
    webpack基本配置
    vue相关知识
    史上最强vue总结~万字长文---面试开发全靠它了
    ES6——字符串
    ES6——Proxy与Reflect
    ES6——Map与Set
    ES6——Symbol
  • 原文地址:https://www.cnblogs.com/itech/p/2822170.html
Copyright © 2011-2022 走看看