zoukankan      html  css  js  c++  java
  • Tmux的安装、使用与配置

    tmux 安装、使用、配置

    因上线需求,故需要使用tumx,方便上线

    tmux功能

    • 提供了强大的、易于使用的命令行界面
    • 可横向、纵向分割窗口
    • 窗格可以自由移动和调整大小,或者直接利用四个预设布局之一
    • 支持UTF-8编码及256色终端
    • 可在多个缓冲区进行复制和粘贴
    • 可通过交互式菜单来选择窗口、会话及客户端
    • 支持跨窗口搜索
    • 支持自动及手动锁定窗口

    tmux安装

    sudo apt-get install tmux
    

    tmux基本使用

    • tmux #运行
    • C-b d #返回主shell,tmux依旧在后台运行,里面的命令也保持运行状态
    • tmux ls #显示已有tmux会话(C-b s)
    • tmux new-session -s session-name #创建新的session(可用s替代),并指定名字
    • tmux attach-session -t session-name #选择连接到哪个session
    • tmux kill-session -t session-name #杀死某个session

    tmux快捷键

    后面的配置文件将Crtl+b修改为Crtl+a

        C-a ?  // 显示快捷键帮助
        C-a C-o  //调换窗口位置
        C-a 空格键  //采用下一个内置布局
        C-a ! // 把当前窗口变为新窗口
        C-a  "  // 模向分隔窗口
        C-a % // 纵向分隔窗口
        C-a q // 显示分隔窗口的编号
        C-a o // 跳到下一个分隔窗口
        C-a 上下键 // 上一个及下一个分隔窗口
        C-a C-方向键 //调整分隔窗口大小
        C-a & // 确认后退出 tmux
        C-a c // 创建新窗口
        C-a 0~9 //选择几号窗口
        C-a c // 创建新窗口
        C-a n // 选择下一个窗口
        C-a l // 最后使用的窗口
        C-a p // 选择前一个窗口
        C-a w // 以菜单方式显示及选择窗口
        C-a s // 以菜单方式显示和选择会话
        C-a t //显示时钟
        C-a [ 复制(空格开始)
        C-a ] 粘贴(回车结束)
        C-a , 给当前窗口改名
    

    tmux配置文件

    ~/.tmux.conf

    #-- base --#
    set -g default-terminal "screen"
    set -g display-time 3000
    set -g history-limit 65535
    #----------------------------------------------
    
    #将默认按键前缀改为与C-i避免与终端快捷键冲突
    
    set-option -g prefix C-a
    unbind-key C-b
    bind-key C-a send-prefix
    #----------------------------------------------
    
    #按键绑定
    
    
    #水平或垂直分割窗口 (C+A+ :split-window + v/h)
    unbind '"'
    bind - splitw -v #分割成上下两个窗口
    unbind %
    bind | splitw -h #分割成左右两个窗口
    #----------------------------------------------
    
    #选择分割的窗格
    bind k selectp -U #选择上窗格
    bind j selectp -D #选择下窗格
    bind h selectp -L #选择左窗格
    bind l selectp -R #选择右窗格
    #----------------------------------------------
    
    #重新调整窗格的大小
    bind ^k resizep -U 10
    bind ^j resizep -D 10
    bind ^h resizep -L 10
    bind ^l resizep -R 10
    #----------------------------------------------
    
    #交换两个窗格
    bind ^u swapp -U
    bind ^d swapp -D
    
    bind ^a last
    bind q killp
    #----------------------------------------------
    
    bind '~' splitw htop
    bind ! splitw ncmpcpp
    bind m command-prompt "splitw -h 'exec man %%'"
    
    unbind s
    #----------------------------------------------
    
    #定制状态行
    
    set -g status-left "#[fg=white,bg=blue] > #I < #[default] |" # 0:bash
    #set -g status-left "#[fg=white,bg=blue] > #I < #[default] |" # session-name
    set -g status-right "#[fg=yellow,bright][ #[fg=cyan]#W #[fg=yellow]]#[default] #[fg=yellow,bright]- %Y.%m.%d #[fg=green]%H:%M #[default]"
    set -g status-right-attr bright
    
    set -g status-bg black
    set -g status-fg white
    set -g set-clipboard on
    
    setw -g window-status-current-attr bright
    #setw -g window-status-current-bg red
    setw -g window-status-current-bg green
    setw -g window-status-current-fg white
    
    set -g status-utf8 on
    set -g status-interval 1
    
    #set -g visual-activity on
    #setw -g monitor-activity on
    
    set -g status-keys vi
    #----------------------------------------------
    
    setw -g mode-keys vi
    setw -g mode-mouse on
    
    #setw -g mouse-resize-pane on
    #setw -g mouse-select-pane on
    #setw -g mouse-select-window on
    
    # move x clipboard into tmux paste buffer
    bind C-p run "tmux set-buffer "$(xclip -o -sel clipbaord)"; tmux paste-buffer"
    # move tmux copy buffer into x clipboard
    bind C-y run "tmux show-buffer | xclip -i -sel clipbaord"
    
    #默认启动应用
    
    #new -s work # 新建名为 work 的会话,并启动 mutt
    #neww rtorrent # 启动 rtorrent
    #neww vim # 启动 vim
    #neww zsh
    #selectw -t 3 # 默认选择标号为 3 的窗口
    

    参考文献:http://blog.chinaunix.net/uid-26495963-id-3140087.html

    勿忘初心,放得始终
  • 相关阅读:
    Java实现 LeetCode 382 链表随机节点
    Java实现 LeetCode 382 链表随机节点
    Java实现 LeetCode 381 O(1) 时间插入、删除和获取随机元素
    Java实现 LeetCode 381 O(1) 时间插入、删除和获取随机元素
    Java实现 LeetCode 381 O(1) 时间插入、删除和获取随机元素
    Java实现 LeetCode 380 常数时间插入、删除和获取随机元素
    Java实现 LeetCode 380 常数时间插入、删除和获取随机元素
    Linux下的iwpriv(iwlist、iwconfig)的简单应用
    OCX控件的注册卸载,以及判断是否注册
    .OCX、.dll文件注册命令Regsvr32的使用
  • 原文地址:https://www.cnblogs.com/cherishry/p/5674518.html
Copyright © 2011-2022 走看看