Tmux Configuration

tmux工作方式

  • tmux最上级的组织是session,操作如下:

    tmux new-session -d -s S -n W1 #构建一个叫S的会话且默认窗口名为W1,S:0或者S:W1都可以访问到该窗口,-d代表在后台运行,不加就会直接在终端显示
    tmux detach #退出当前会话,依然在后台运行
    tmux ls #列出所有会话i
    tmux kill-session -t S #杀掉一个叫S的会话
    
  • 第二层组织是windows,构建方式如下:

    tmux new-window -t S:1 -n W2 #在S会话下,新建一个窗口S:1,重命名为W2,访问的时候S:1和S:W2都可以访问到该窗口
    tmux select-window -t S:0 #选中第一个窗口
    tmux select-window -t S:W1 #效果同上
    tmux kill-window -t S:W2 #杀掉S会话的W2窗口
    
  • 第三层组织是pane,操作方式如下:

    tmux selectp -t 0 #选中当前窗口下的第0个pane
    tmux splitw -h -p 50 #从当前pane(编号0)向右按照50:50的比例分裂出新的pane(编号1)
    tmux selectp -t 0 #选中当前窗口下的第0个pane
    tmux splitw -v -p 50 #从当前plane向下按照50:50的比例分裂出新的pane(编号1,原先的编号1-->2)
    tmux selectp -t 0 #选中第0个pane
    tmux send-keys -t "roscore" C-m #在当前选中的pane运行roscore命令
    tmux kill-pane -t 2 #杀掉第2个pane
    

基本命令(如果个性化配置后,crtl+b要根据自己的配置修改)

  • Ctrl+b “ — 水平分割标签
  • Ctrl+b % — 竖直分割标签
  • Ctrl+b 方向键 — 选择标签
  • 按住 Ctrl+b不放,并且按方向键 — 调整标签大小
  • Ctrl+b c — 创建 (c)reate 一个新窗口
  • Ctrl+b n — 转到下一个 (n)ext 窗口
  • Ctrl+b p — 转到之前的 (p)revious 窗口
  • ctrl+b & — 杀掉当前窗口

tmux 自启动(修改.bashrc)

if [ $TERM != "screen-256color" ] && [  $TERM != "screen" ]; then
    tmux attach || tmux new; exit
fi 

改造tmux

cd ~
vim .tmux.conf

1.更改前缀(ctrl+b -> ctrl+a)

unbind C-b
set -g prefix C-a

2.Alt+方向键选择标签

bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D

3.活动监听

如果你开了多个窗口,可能想当别的窗口发生什么的时候你能收到通知。粘贴这段命令:

setw -g monitor-activity on
set -g visual-activity on

4.用指定的颜色高亮显示当前窗口

set-window-option -g window-status-current-bg yellow
setw -g monitor-activity on

一键启动脚本demo:

  • 文件名start.sh

    ```

    创建会话和窗口

    tmux new-session -d -s pickman -n control tmux select-window -t pickman:control

先构建pane的布局

tmux selectp -t 0 tmux splitw -h -p 50 tmux selectp -t 0 tmux splitw -v -p 50 tmux selectp -t 2 tmux splitw -v -p 50 tmux selectp -t 2 tmux splitw -h -p 50

再ctrl+x q查看一下pane的编号,往对应编号的pane里写指令

tmux selectp -t 0 tmux send-keys “roscore” C-m tmux selectp -t 1 tmux send-keys “sleep 1;rosbag play /home/luyifan/BAG/BUG.bag –clock -s 20 -r 1.0” C-m tmux selectp -t 2 tmux send-keys “sleep 2;rosrun rviz rviz -d /home/luyifan/Project/PathPlanning/pickman_ws/src/rviz/pickman.rviz” C-m tmux selectp -t 3 tmux send-keys “sleep 3;rosrun create_map create_map” C-m tmux selectp -t 4 tmux send-keys “sleep 3;rosrun dstar dstar” C-m

控制rosbag的播放

tmux selectp -t 1

tmux attach -t pickman


- ### Tips:用脚本来启动tmux和各类指令的时候,需要先-d再attach出来,否则指令不运行

## 一键清除脚本demo
- ### 文件名**kill.sh**

tmux kill-session -t tiggo ```

Search

    欢迎添加我的微信

    闷骚的程序员

    Table of Contents