目录
tmux——一个终端复用器(terminal multiplexer)
功能
结构
操作
会话管理
窗口管理
窗格管理
其他命令
vim教程
模式
?常用操作
参考:
tmux——一个终端复用器(terminal multiplexer)
功能
? ? ? ? (1) 分屏。 ? ? ? ? (2) 允许断开Terminal连接后,继续运行进程。 ? ?
结构
????????会话(session)、窗口(window)、窗格(pane)三部分
????????打开一个终端窗口(terminal window,在里面输入命令。用户与计算机的这种临时的交互,称为一次"会话".? ?会话的一个重要特点是,窗口与其中启动的进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完.? 为了解决这个问题,会话与窗口可以"解绑":窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话"绑定"其他窗口
? ? ? ? 一个tmux可以包含多个session,一个session可以包含多个window,一个window可以包含多个pane。
操作
? ? ? ?在这里y总为了方便把ctrl+b?改为了ctrl+a,?在平时linux使用时还是用ctrl+b
???????? (1) tmux:新建一个session,其中包含一个window,window中包含一个pane,pane里打开了一个shell对话框。 ? ? ? ? (2) 按下Ctrl + a后手指松开,然后按%:将当前pane左右平分成两个pane。 ? ? ? ? (3) 按下Ctrl + a后手指松开,然后按":将当前pane上下平分成两个pane。 ? ? ? ? (4) Ctrl + d:关闭当前pane;如果当前window的所有pane均已关闭,则自动关闭window;如果当前session的所有window均已关闭,则自动关闭session。 ? ? ? ? (5) 鼠标点击可以选pane。 ? ? ? ? (6) 按下ctrl + a后手指松开,然后按方向键:选择相邻的pane。 ? ? ? ? (7) 鼠标拖动pane之间的分割线,可以调整分割线的位置。 ? ? ? ? (8) 按住ctrl + a的同时按方向键,可以调整pane之间分割线的位置。 ? ? ? ? (9) 按下ctrl + a后手指松开,然后按z:将当前pane全屏/取消全屏。 ? ? ? ? (10) 按下ctrl + a后手指松开,然后按d:挂起当前session。 ? ? ? ? (11) tmux a:打开之前挂起的session。 ? ? ? ? (12) 按下ctrl + a后手指松开,然后按s:选择其它session。 ? ? ? ? ? ? 方向键 —— 上:选择上一项 session/window/pane ? ? ? ? ? ? 方向键 —— 下:选择下一项 session/window/pane ? ? ? ? ? ? 方向键 —— 右:展开当前项 session/window ? ? ? ? ? ? 方向键 —— 左:闭合当前项 session/window ? ? ? ? (13) 按下Ctrl + a后手指松开,然后按c:在当前session中创建一个新的window。 ? ? ? ? (14) 按下Ctrl + a后手指松开,然后按w:选择其他window,操作方法与(12)完全相同。 ? ? ? ? (15) 按下Ctrl + a后手指松开,然后按PageUp:翻阅当前pane内的内容。 ? ? ? ? (16) 鼠标滚轮:翻阅当前pane内的内容。?
会话管理
常用命令
tmux new 创建默认名称的会话(在tmux命令模式使用new命令可实现同样的功能,其他命令同理,后文不再列出tmux终端命令)
tmux new -s mysession 创建名为mysession的会话
tmux ls 显示会话列表
tmux a 连接上一个会话
tmux a -t mysession 连接指定会话
tmux rename -t s1 s2 重命名会话s1为s2
tmux kill-session 关闭上次打开的会话
tmux kill-session -t s1 关闭会话s1
tmux kill-session -a -t s1 关闭除s1外的所有会话
tmux kill-server 关闭所有会话
常用快捷键
ctrl+b?s 列出会话,可进行切换
ctrl+b?$ 重命名会话
ctrl+b?d 分离当前会话
ctrl+b?D 分离指定会话
窗口管理
ctrl+b?c 创建一个新窗口
ctrl+b?, 重命名当前窗口
ctrl+b?w 列出所有窗口,可进行切换
ctrl+b?n 进入下一个窗口
ctrl+b?p 进入上一个窗口
ctrl+b?l 进入之前操作的窗口
ctrl+b?0~9 选择编号0~9对应的窗口
ctrl+b?. 修改当前窗口索引编号
ctrl+b?' 切换至指定编号(可大于9)的窗口
ctrl+b?f 根据显示的内容搜索窗格
ctrl+b?& 关闭当前窗口
窗格管理
ctrl+b?% 水平方向创建窗格
ctrl+b?" 垂直方向创建窗格
ctrl+b?Up|Down|Left|Right 根据箭头方向切换窗格
ctrl+b?q 显示窗格编号
ctrl+b?o 顺时针切换窗格
ctrl+b?} 与下一个窗格交换位置
ctrl+b?{ 与上一个窗格交换位置
ctrl+b?x 关闭当前窗格
ctrl+b?space(空格键) 重新排列当前窗口下的所有窗格
ctrl+b?! 将当前窗格置于新窗口
ctrl+b?Ctrl+o 逆时针旋转当前窗口的窗格
ctrl+b?t 在当前窗格显示时间
ctrl+b?z 放大当前窗格(再次按下将还原)
ctrl+b?i 显示当前窗格信息
其他命令
tmux list-key 列出所有绑定的键,等同于ctrl+b??
tmux list-command 列出所有命令
vim教程
模式
? ? ? ? (1) 一般命令模式 ? ? ? ? ? ? 默认模式。命令输入方式:类似于打游戏放技能,按不同字符,即可进行不同操作。可以复制、粘贴、删除文本等。 ? ? ? ? (2) 编辑模式 ? ? ? ? ? ? 在一般命令模式里按下i,会进入编辑模式。 ? ? ? ? ? ? 按下ESC会退出编辑模式,返回到一般命令模式。 ? ? ? ? (3) 命令行模式 ? ? ? ? ? ? 在一般命令模式里按下:/?三个字母中的任意一个,会进入命令行模式。命令行在最下面。 ? ? ? ? ? ? 可以查找、替换、保存、退出、配置编辑器等。
常用操作
( 1)i:进入编辑模式 (2)Esc:进入一般命令模式 (3)h或左箭头键:光标向左移动一个字符
( 4)j或问下箭头:光标问下移动一个字存
(5)k或问上箭头:光标问下移动一个字存
(6)l或向右箭头:光标问右移动一个字符 (7) n<Space>: n表示数字,按下数字后冉按空格,光标会向右移动这一行的n个字符
(8)o或功能键「Home]:光标移动到本行开头 (9)$或功能键「End]:光标移动到本行未尾
(10)G:光标移动到最后一行 (11) :n或nG :? n为数字,光标移动到第n行
?(12)gg:光标移动到第一行,相当于1G (13)n<Enter>: n为数字,光标向下移动n行 (14)/ word:向光标之下寻找第—个值为word的字符串。
(15)?word:向光标之上寻找第一个值为word的字符串。
(16)n:重复前一个查找操作 (17)N:反向重复前一个查找操作 (18) :n1,n2s/word1/word2/g: n1与n2为数字,在第ni行与n2行之间寻找word1这个字符串,并将该字符串替换为wozd2
(19):1,$s/word1/word2/g :将全文的word1换为word2??????(1到$,即从头到尾) ?(20) :1,$s/word1/word2/gc:将全文的word1香换为word2,且在替换前典求用户确认。
(21)v:选中文本 (22)d :删除选中的文本(剪切)
(23)dd:删除当前行(剪切)
(24)y:复制选中的文本
(25) yy:复制当前行 (26)p:将复制的数据在光标的下一行粘贴
(27)u:撤销 (28)ctrl +r:取消撤销 (29)shift+>:将选中的文本整体向右移动
(30)shift+<:将选中的文本整体向左移动
(31):w保存 (32):w !强制保存
(33) :q退出 (34):q!强制退出
(35):wq保存并退出 (36):set paste设置成粘贴模式,取消代码自动缩进
?(37):set nopaste取消粘贴模式,开启代码自动缩进
(38):set nu显示行号 ?(39) :set nonu隐藏行号(在复制代码的时候可以不包含行号,较为方便) ?( 40)gg=G:将全文代码格式化
?(41):noh关闭查找关键词高亮(/word后关键词有背景色不美观,该命令可以取消) ?(42)ctrl +q:当vim卡死时,可以取消当前正在执行的命令异常处理
每次用vim编辑文件时,会自动创建一个.filename.swp的临时文件。 如果打开某个文件时,该文件的swp文件已存在,则会报错。此时解决办法有两种: (1)找到正在打升该文件的程序,并退出 (2)直接删掉该swp文件即可 ?
在作业时保存并退出时警告”Can’t open file forwriting”,百度出来的解决办法不可行(需要用sudo),搞了好一会,感觉是进程占用了,tmux kill-server后重来发现可以了,不知道有没有别的办法hhh?
参考:
Ⅰ.y总教案
Ⅱ.阮一峰大佬的??Tmux 使用教程
Ⅲ.tmux基本操作 - Guanglin - 博客园 (cnblogs.com)
|