> 文档中心 > 【Linux学习随笔】二、tmux 和 vim

【Linux学习随笔】二、tmux 和 vim

食用前须知!!!

在下面中可以看到有很多冒号(就是这个符号‘ :’,有的冒号是起说明作用,有的是命令的一部分。怎么区分呢?

①出现在开头的冒号是命令的一部分

②出现在命令和解释之间的冒号起说明作用


目录

1.tmux

2.vim


1.tmux

功能:

(1)分屏。

(2)运行断开终端连接后,继续运行进程(类似单片机脱机运行的或者数据掉电保护。

 结构:

一个tmux可以包含多个session,一个session可以包含多个window,一个window可以包含多个pane(可以理解为一颗树,终端是根结点,然后向外延申。

操作:

(1)tmux:新建一个session,其中包含一个window,window中又有一个pane,pane里打开一个shell对话框(我们平常在终端输入命令的地方)。

(2)按下CTRL+a后手指松开,再按%键,实现pane左右分屏。

(3)按下CTRL+a后手指松开,再按”(双引号):将当前pane上下分屏

(4)CTRL+d:关闭当前pane;如果当前window的所有pane都关闭了,则关闭window;如果当前session的所有window都关闭了,则关闭session。

(5)按下CTRL+a后手指松开,然后按方向键:可以选择相邻的pane。(也可以通过鼠标选择)

(6)按住CTRL+a(不要松开)同时按方向键:可以调整pane之间分割线的位置。(也可以通过鼠标拖动)

(7)按下CTRL+a后手指松开,然后按z:将当前pane全屏/取消全屏。

(8)按下CTRL+a后手指松开,然后按d:挂起当前session(回到原终端,后台运行)。

(9)按下CTRL+a后手指松开,然后按s:进入一个选择界面,可以选择其他session,按方向键右键可以详细看每一个session里面的信息。

(10)按下CTRL+a后手指松开,然后按c:在当前session中创建一个window。(感觉不怎么实用,一般一个session开一个window感觉就够用了)。

(11)按下CTRL+a后手指松开,然后按w:选择其他window,操作跟第9个完全一样(感觉没什么区别,就一个是粗略展开,一个是详细展开信息)。

(12)按下CTRL+a后手指松开,然后按pageup:翻阅当前pane内的内容(相当于鼠标滚轮向上滚的作用,顺便试了一下pagedown,发现不能往下翻,不理解)。

(13)在tmux中选中文本,需要按住shift键(不过只支持window和linux,不支持mac)。

(14)在tmux中复制/粘贴的通用方式:

        (14.1)按下CTRL+a后松开手指,然后按 [ 

        (14.2)用鼠标选中文本,被选中的文本会被自动复制到tmux的剪贴板

        (14.3)按下CTRL+a后松开手指,然后按],会将剪贴板中的内容粘贴到光标


2.vim

功能:

(1)命令行模式下的文本编辑器(理解为一个强大功能的编辑器)

(2)根据文件拓展名自动判别编程语言。支持代码缩进,代码高亮等功能。(有一说一,代码高亮看着真难受,代码高亮还好,文本高亮看的真无语)

(3)使用方式:vim filename

         如果已有该文件,就打开它。

         如果没有该文件,就创建它。

模式:

    1.一般命令模式(默认模式)

输入各自命令,类似打游戏,按不同的字符,可以进行不同的操作。可以复制,粘贴,删除文本等。(当然了,为什么说像打游戏呢,因为还可以组合操作!!!芜湖)

     2.编辑模式

在一般命令模式下按i,会进入编辑模式。(后面我发现按s也可以进入,但会删除光标所在的字符)

    3.命令行模式

在一般命令模式里按 :/ ?三个字母中的任意一个,会进入命令行模式。(命令行在最下面,一个长方形框)

操作:

(1)i:进入编辑模式

(2)ESC:退出编辑模式(如果在的话)。也可以说是进入一般命令模式。

(3)h或方向键左:光标向左移动一个字符。

(4)j或方向键下:光标向下移动一个字符。

(5)k或方向键上:光标向上移动一个字符。

(6)l或方向键右:光标向右移动一个字符。

(7)n:n表示数字,按下数字再按下空格,光标会向右移动到这一行的n个字符后面。(刚开始比较难受的是,光标设置的只能移动到最后一个字符的前面,而不是常见的后面)

(8)0或者home键:光标移动到本行开头。

(9)$或end键:光标移动到本行结尾。

(10)G:光标移动到最后一行。

(11):n或nG :n为数字,光标移动到本行末尾。(删除东西定位的话两个都可以,至于选择文本的话,nG是真的舒服)

(12)gg:光标移动到第一行,相当于1G操作。

(13)n:n为数字,光标向下移动n行。

(14)/word:从光标之后寻找第一个word的字符串。(其实应该说是之后的所有word)

(15)?word:从光标之前寻找第一个word的字符串。(同14)

(16)n:重复前一个查找操作。(这个目前不怎么常用)

(17)N:反向重复前一个查找操作。

(18):n1,n2s/word1/word2/g:n1与n2为数字,在第n1行与n2行之间寻找word1这个字符串然后替换成word2 。(s,g是必须打的,我一般是记成start和gameover)

(19):1,$s/word1/word2/g:将全文的word1替换为word2。

(20):1,$/s/word1/word2/gc:作用同上不过区别在于每次替换都会问你要不要替换。

(21)v:选中文本

  (22) d:删除选中的文本(其实发现原来跟剪切一样)

  (23)dd:删除当前行

(24)y:复制选中的文本

(25)yy:复制当前行

(26)p:将复制的数据在光标的下一行/下一个位置粘贴

(27)u:撤销

(28)CTRL+r:取消撤销(发现挺好玩的,跟递归一样套娃)

(29)>:将选中的文本整体向右缩进一次

(30)<:将选中的文本整体向左缩进一次

(31):w 保存

(32):w! 强制保存(保存还强制,hh)

(33):q 退出

  (34) :q! 强制退出

(35):wq 保存并退出

  (36):set paste 设置成粘贴模式,取消代码自动缩进,如果不开这个模式的话,之间粘贴过来会格式大变,具体效果自行体会hh

(37):set nopaste 取消粘贴模式,开启代码自动缩进

(38):set nu 显示行号

(39):set nonu 隐藏行号(因为有时候我们要把代码弄出去,但复制过去还会把行号带出去)

(40)gg=G:将全文代码格式化(组合技!!!)

(41):noh 关闭查找关键词高亮

(42)CTRL+q:当vim卡死时,可以取消当前正在执行的命令(救命神技)