美文网首页
tmux使用教程

tmux使用教程

作者: 潇湘雨TF | 来源:发表于2018-09-10 23:09 被阅读0次
    终端复用命令行神器,安装略
    

    1. 默认前缀

    send-prefix(命令前缀):Ctrl+b
    随后命令用prefix 代替 Ctrl+b

    1.1 session操作

    命令 作用
    tmux ls 列出激活的会话
    tmux attach 返回已打开的会话
    tmux new -s name0 创建名称为name0的会话
    tmux new -s name0 -d 创建名称为name0的后台会话
    prefix s 显示会话列表
    prefix d 脱离当前会话
    prefix D 多会话是脱离当前会话
    prefix z 挂起当前会话,再次运行该命令可以恢复
    prefix $ 重命名当前会话
    prefix: 后 kill-server 类似vim,关闭所有会话

    1.2 window操作

    命令 作用
    prefix c 创建新窗口
    prefix p 切换上一窗口pre
    prefix n 切换下一窗口next
    prefix w 窗口列表
    prefix & 关闭窗口
    prefix , 重命名窗口
    prefix f 搜索窗口
    prefix id 选择数字id对应的窗口
    prefix q 显示窗口id

    1.3 pane操作

    命令 作用
    prefix { 与上一窗格交换位置
    prefix } 与下一窗格交换位置
    prefix z 最大/小化当前窗格
    prefix ↑ 选择上一个窗格
    prefix ↓ 选择下一个窗格
    prefix ← 选择左一个窗格
    prefix → 选择右一个窗格
    prefix: resize-pane -D 当前窗格向下扩大 1 格
    prefix: resize-pane -U 当前窗格向下扩上 1 格
    prefix: resize-pane -L 当前窗格向下扩左 1 格
    prefix: resize-pane -R 当前窗格向右扩大 1 格
    prefix: resize-pane -t 2 -L 20 编号为 2 的窗格向左扩大 20 格

    1.4 自行配置,让操作更流畅

    #-- base settings --#
    set -g default-terminal "screen-256color"
    set -g display-time 3000
    set -g escape-time 0
    set -g history-limit 65535
    set -g base-index 1
    set -g pane-base-index 1
     
    #-- bindkeys --#
    # prefix key (Ctrl+a)
    set -g prefix ^a
    unbind ^b
    bind a send-prefix
     
    # split window
    unbind '"'
    # vertical split (prefix -)
    bind - splitw -v
    unbind %
    bind | splitw -h # horizontal split (prefix |)
     
    # select pane
    bind k selectp -U # above (prefix k)
    bind j selectp -D # below (prefix j)
    bind h selectp -L # left (prefix h)
    bind l selectp -R # right (prefix l)
     
    # resize pane
    bind -r ^k resizep -U 10 # upward (prefix Ctrl+k)
    bind -r ^j resizep -D 10 # downward (prefix Ctrl+j)
    bind -r ^h resizep -L 10 # to the left (prefix Ctrl+h)
    bind -r ^l resizep -R 10 # to the right (prefix Ctrl+l)
     
    # swap pane
    # swap with the previous pane (prefix Ctrl+u)
    bind ^u swapp -U
    # swap with the next pane (prefix Ctrl+d)
    bind ^d swapp -D
     
    # misc
    # select the last pane (prefix e)
    bind e lastp
    # select the last window (prefix Ctrl+e)
    bind ^e last
    # kill pane (prefix q)
    bind q killp
    # kill window (prefix Ctrl+q)
    bind ^q killw
     
    # copy mode
    # enter copy mode (prefix Escape)
    bind Escape copy-mode
    # paste buffer (prefix Ctrl+p)
    bind ^p pasteb
    # select (v)
    bind -t vi-copy v begin-selection
    # copy (y)
    bind -t vi-copy y copy-selection
     
    # zoom pane <-> window
    #http://tmux.svn.sourceforge.net/viewvc/tmux/trunk/examples/tmux-zoom.sh
    bind ^z run "tmux-zoom"
     
    # app
    # htop (prefix !)
    bind ! splitw htop
    # man (prefix m)
    bind m command-prompt "splitw 'exec man %%'"
    # perl func (prefix @)
    bind @ command-prompt "splitw 'exec perldoc -t -f %%'"
    # perl var (prefix *)
    bind * command-prompt "splitw 'exec perldoc -t -v %%'"
    # perl doc (prefix %)
    bind % command-prompt "splitw 'exec perldoc -t %%'"
    # ruby doc (prefix /)
    bind / command-prompt "splitw 'exec ri %%'"
     
    # reload config (prefix r)
    bind r source ~/.tmux.conf \; display "Configuration reloaded!"
     
    #-- statusbar --#
    set -g status-utf8 on
    set -g status-interval 1
    set -g status-keys vi
     
    setw -g mode-keys vi
    setw -g automatic-rename off
     
    #-- colorscheme --#
    #https://github.com/daethorian/conf-tmux/blob/master/colors/zenburn.conf
     
    # modes
    setw -g clock-mode-colour colour223
    setw -g mode-attr bold
    setw -g mode-fg colour223
    setw -g mode-bg colour235
     
    # panes
    set -g pane-border-bg colour234
    set -g pane-border-fg colour234
    set -g pane-active-border-bg colour232
    set -g pane-active-border-fg colour232
     
    # statusbar
    set -g status-justify centre
    set -g status-bg colour235
    set -g status-fg colour248
    set -g status-attr dim
    #[default]» #[fg=colour187]#S #[default]• #[fg=colour187]w#I.p#P#[default]"
    # set -g status-left "
    set -g status-left-attr bright
    set -g status-left-length 20
    #[fg=colour174]#(/home/xiaodong/bin/uptime) #[default]• #[fg=colour174]#(cut -d ' ' -f 1-3 /proc/loadavg)"
    # set -g status-right "
    set -g status-right-attr bright
    set -g status-right-length 80
    setw -g window-status-current-fg colour223
    setw -g window-status-current-bg colour237
    setw -g window-status-current-attr bold
    setw -g window-status-current-format "#I:#W#F"
     
    #setw -g window-status-alert-attr bold
    #setw -g window-status-alert-fg colour255
    #setw -g window-status-alert-bg colour160
     
    # messages
    set -g message-attr bold
    set -g message-fg colour223
    set -g message-bg colour235
    

    相关文章

      网友评论

          本文标题:tmux使用教程

          本文链接:https://www.haomeiwen.com/subject/hdvegftx.html