screen和tmux分屏
LINUX下有两个比较常用的终端工具:screen和tmux,两者都是支持分屏操作的。不过screen只支持上下分屏,而tmux支持上下左右分屏。这里记录下两者分屏的操作方法。
一、screen分屏
11,输入命令screen使用工具
22,上下分屏:ctrl + a 再按shift + s
33,切换屏幕:ctrl + a 再按tab键
44,新建一个终端:ctrl + a 再按c
55,关闭一个终端:ctrl + a 再按x (或直接按exit退出)
推荐一个我自己用的screen配置:http://wiki.361way.com/Linux/screen-tmux.md
二、tmux分屏
11,输入命令tmux使用工具
22,上下分屏:ctrl + b 再按 "
33,左右分屏:ctrl + b 再按 %
44,切换屏幕:ctrl + b 再按o
55,关闭一个终端:ctrl + b 再按x
66,上下分屏与左右分屏切换: ctrl + b 再按空格键
以下都是在默认没有修改绑定键的情况下的默认值,如果修改了绑定键,还需要根据具体的绑定键的情况再定。这里也推荐一个tmux的配置
1set -g prefix ^a
2unbind ^b
3bind a send-prefix
4setw -g mode-keys vi
5set -g base-index 1
6#水平或垂直分割窗口
7unbind '"'
8bind - splitw -v -c "#{pane_current_path}" # 分割成上下两个窗口
9unbind %
10bind | splitw -h -c "#{pane_current_path}" # 分割成左右两个窗口'"'
11bind c new-window -c "#{pane_current_path}"
12#选择分割的窗格
13bind k selectp -U # 选择上窗格
14bind j selectp -D # 选择下窗格
15bind h selectp -L # 选择左窗格
16bind l selectp -R # 选择右窗格
17#重新调整窗格的大小
18bind ^k resizep -U 10 # 跟选择窗格的设置相同,只是多加 Ctrl(Ctrl-k)
19bind ^j resizep -D 10 # 同上
20bind ^h resizep -L 10 # ...
21bind ^l resizep -R 10 # ...
22#交换两个窗格
23bind ^u swapp -U # 与上窗格交换 Ctrl-u
24bind ^d swapp -D # 与下窗格交换 Ctrl-d
25# 状态栏设置
26# status bar with load and time
27set -g status-bg blue
28set -g status-fg '#bbbbbb'
29set -g status-left-fg green
30set -g status-left-bg blue
31set -g status-right-fg green
32set -g status-right-bg blue
33set -g status-left-length 90
34set -g status-right-length 90
35set -g status-left '[#(whoami)]'
36set -g status-right '[#(date +" %m-%d %H:%M ")]'
37#set -g status-justify "centre"
38set -g window-status-format '#I #W'
39set -g window-status-current-format ' #I #W '
40setw -g window-status-current-bg blue
41setw -g window-status-current-fg green
42set -g default-terminal "screen-256color"
将文件存放为~/.tmux.conf,即可使用。配置使用了ctrl+a作为启用键,其功能键作用如下:
1水平分割窗格ctrl+-就是control键加0键后面横线键,不需要shift
2垂直分割窗格ctrl+|就是control键加回车键上面竖线键,需要shift
3选择分割窗格和vim键的上下左右相同hjkl分别对应左、下、上和右
多个窗口时,调整大小的功能键为:
1向左 ctrl+h
2向右 ctrl+l
3向上 ctrl+k
4向下 ctrl+j
窗格位置切换的功能键为:
1ctrl+u与上窗格交换
2ctrl+d与下窗格交换
3
4ctrl+space空格键可以把多个窗格大小统一调整到等宽或者等高。
这里还有一个自动切分窗格的命令:
1cmd=$(which tmux) # tmux path
2if [ -z $cmd ]; then
3 echo "You need to install tmux."
4 exit 1
5fi
6$cmd has -t $session 2> /dev/null
7if [ $? != 0 ]; then
8 $cmd new -d -n base-act -s $session "zsh"
9 $cmd splitw -v -t $session
10 $cmd splitw -h -t $session
11 $cmd select-layout -t $session tiled
12 $cmd send-keys -t $session:1.0 '执行的命令' C-m
13 $cmd send-keys -t $session:1.1 '执行的命令' C-m
14 $cmd send-keys -t $session:1.2 '执行的命令' C-m
15 $cmd send-keys -t $session:1.3 '执行的命令' C-m
16 $cmd set-window-option synchronize-panes on
17 #$cmd neww -n vim -t $session "zsh"
18 #$cmd selectw -t $session:5
19fi
20$cmd att -t $session
21exit 0
使用synchronize-panes on脚本自动分割4个窗格出来。这里默认使用的zsh,如果使用的bash shell,也可以将上面的zsh换成bash。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/screen-tmux-splitw/5942.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.