Linux之tmux学习

前言

在Linux的世界中,命令行是最优雅的交互方式。

但是,只会使用一个交互终端的程序员,是不足以成为Linux下的大牛的。

那么tmux是什么,引用一下原文介绍

tmux is a "terminal multiplexer", it enables a number of terminals (or windows)
to be accessed and controlled from a single terminal. tmux is intended to be a
simple, modern, BSD-licensed alternative to programs such as GNU screen.

tmux可以让你在一个终端中同时交互多个命令,而不用多开终端和不断切换窗口,同屏显示的效率也更高一些。

正文

tmux的原生触发键是Ctrl + b,但是由于它的bash原生的后退字符快捷键冲突了,所以我修改了一下键位配置。

触发键:修改为Ctrl + v,该快捷键仅和vim中的block-visual模式冲突,但该模式使用频率低,而且冲突后可以再次触发进入block-visual,所以不用太介意

左右分屏:修改为|,形象生动,竖线表达左右分屏,避免记忆原生%才是左右分屏的快捷键

上下分屏:修改为-,形象生动,横线表达上下分屏,避免记忆原生"才是上下分屏的快捷键

面板切换:修改为hjkl,配合vim的操作方式,避免移动手掌和误操作性,分别对应上下左右

窗口切换:修改为序号1为第一窗口(默认0),切换第一个窗口的时候不用在找0的位置,切换方式为触发键后加窗口的序号Ctrl + v,<index>,序号默认显示在终端的最下方

窗口自动重排列:退出2号窗口后,3号窗口会自动序号变为2号,4号及后面的同理

调整面板大小:按住触发键Ctrl + v,不断按hjkl即可调整面板的大小

显示效果:

附录

.tmux.conf文件内容,放置在~/.tmux.conf路径下,建议重定向tmux命令为tmux -2才能启动256色彩方案

# =====> TMUX general <=====
# reload settings message
bind R source-file ~/.tmux.conf \; display-message "Config reloaded..." # remap prefix from 'C-b' to 'C-v'
unbind C-b
set-option -g prefix C-v
bind-key C-v send-prefix # =====> TMUX display <=====
# use 256 colors
set -g default-terminal "screen-256color"
# use vi mode
setw -g mode-keys vi # start window indexing at one instead of zero
set -g base-index 1
# auto reorder windows number
set-option -g renumber-windows on # =====> TMUX key bindings <=====
# split window to two horizontal panes
bind | split-window -h
# split window to two vertical panes
bind - split-window -v
# resize-pane with hjkl
bind -r C-h resize-pane -L
bind -r C-j resize-pane -D
bind -r C-k resize-pane -U
bind -r C-l resize-pane -R
# select-pane with hjkl
bind -r h select-pane -L
bind -r j select-pane -D
bind -r k select-pane -U
bind -r l select-pane -R

Linux之tmux学习的更多相关文章

  1. 20135231 —— Linux 基础入门学习

    20135231 何佳 学习计时:共12小时 读书:5 代码:2 作业:2 博客:3 一.学习目标 1. 能够独立安装Linux操作系统 2. 能够熟练使用Linux系统的基本命令 3. 熟练使用Li ...

  2. Linux系统新手学习的11点建议

    随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起.这里介绍学习Linux的一些建议. 一.从基础开始:常常有些朋友在Linux论 ...

  3. Linux进程间通信IPC学习笔记之同步二(SVR4 信号量)

    Linux进程间通信IPC学习笔记之同步二(SVR4 信号量)

  4. Linux进程间通信IPC学习笔记之同步二(Posix 信号量)

    Linux进程间通信IPC学习笔记之同步二(Posix 信号量)

  5. Linux进程间通信IPC学习笔记之消息队列(SVR4)

    Linux进程间通信IPC学习笔记之消息队列(SVR4)

  6. Linux进程间通信IPC学习笔记之有名管道

    基础知识: 有名管道,FIFO先进先出,它是一个单向(半双工)的数据流,不同于管道的是:是最初的Unix IPC形式,可追溯到1973年的Unix第3版.使用其应注意两点: 1)有一个与路径名关联的名 ...

  7. Linux进程间通信IPC学习笔记之管道

    基础知识: 管道是最初的Unix IPC形式,可追溯到1973年的Unix第3版.使用其应注意两点: 1)没有名字: 2)用于共同祖先间的进程通信: 3)读写操作用read和write函数 #incl ...

  8. Linux防火墙iptables学习笔记(三)iptables命令详解和举例[转载]

     Linux防火墙iptables学习笔记(三)iptables命令详解和举例 2008-10-16 23:45:46 转载 网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能 ...

  9. linux的视频学习4(网络配置和rpm)

    linux的视频学习: 1.网络配置的三种方式的介绍. 第一种方式: setup 命令--选择network configuration-->配置固定ip(tab键)和自动分配IP(长空格) / ...

随机推荐

  1. JS使用cookie实现只出现一次的广告代码效果

    我们上网经常会遇到第一次需要登录而之后不用再登录的网站的情况,其实是运用了Cookie 存储 web 页面的用户信息,Cookie 以名/值对形式存储,当浏览器从服务器上请求 web 页面时, 属于该 ...

  2. JavaScript for/in 语句 遍历数组内容

    for-in遍历 for-in是为遍历对象而设计的,不适用于遍历数组. 遍历数组的缺点:数组的下标index值是数字,for-in遍历的index值"0","1" ...

  3. 去除bootstrap默认的input和选中时的样式

    input默认样式除border外, 还有一个阴影效果box-shadow:选中时同样有阴影效果. input,input:focus{ border: none !important; box-sh ...

  4. CSS超全笔记(适合新手入门)

    CSS CSS初识 CSS(Cascading Style Sheets) 美化样式 CSS通常称为CSS样式表或层叠样式表(级联样式表),主要用于设置HTML页面中的文本内容(字体.大小.对齐方式等 ...

  5. Nodejs全局/缓存路径配置

    $ npm config set prefix "D:\Program Files\nodejs\node_global" $ npm config set cache " ...

  6. BDD实战篇 - .NET Core里跑Specflow - 可以跑集成测试和单元测试

    这是<如何用ABP框架快速完成项目 >系列中和DevOps系列文章其中一篇文章.   BDD很赞!比TDD先进很多,能够大大提高编码效率.   上一篇文章说了如何在.NET Core里安装 ...

  7. RPC框架学习总结

    1.RPC是一种技术框架的称呼,不是某种具体协议,不局限于某种协议,RPC顾名思义就是远程过程调用,其核心思想是,RPC客户端调用远程服务器上的接口完成过程调用,远程服务器把结果返回. 2.RPC的最 ...

  8. 在a标签内添加hover样式的方法:

    <a href="javascript:void(0);" onmouseover="this.style.color='yellow';" onmous ...

  9. Android Studio多渠道打包(二)

    虽然多渠道打包的方式有很多种,那么今天我要说的通过工具的形式进行多渠道打包 首先,打开Android studio,找到顶部Build,点开 选择红色部分,里面的编辑框可以帮助我们更快的熟悉Gradl ...

  10. 章节三、6-Getters-Setters和this关键字part02

    一.如何在一个类中创建另外一个类的对象,然后用这个类的对象的引用来访问这个对象里面的成员,如下: //如何在一个类中创建另外一个类的对象,然后用这个类的对象的引用来访问这个对象里面的成员 Car bm ...