tmux
功能
- 分屏终端
- 终端意外断连后,继续运行进程,可防断网断电
结构
一个tmux可包含多个session,一个session可包含多个window,一个window可包含多个pane
操作
-
tmux
新建一个session,包含一个window,下面包含一个pane,pane里打开了一个shell
-
Ctrl + A
- 前缀键位可以改,这里是默认配置
再按 % :当前pane左右平分(新建)
再按 " :当前pane上下平分
同时按方向键——调整 pane 分割线
再按方向键——选相邻 pane
再按 Z:将当前 pane 全屏/取消全屏
再按 D:挂起当前 session
再按 C:在当前 session 中创建一个新的 window
再按 W / S:显示 window / session 列表可选择
再按 PageUp / 上滚轮:翻阅 pane
再按 P / N:切换 window
-
Ctrl + D
关闭当前pane。无 pane 的 window 会自动关闭,session 同理
-
tmux a
打开之前挂起的session
-
Shift
按住才能在 tmux 中选中,经常忘
-
tmux 中复制/粘贴文本:
- 按下Ctrl + A,再按 [
- 用鼠标选中文本,自动复制到 tmux 的剪贴板(是 tmux 的剪贴板)
- 按下Ctrl + A,再按 ],将剪贴板中内容粘贴到光标处
vim
概述
- 结合命令行的强大编辑器,会识别扩展名,支持各种语言。支持缩进、高亮等功能
- 因为只是编辑器,相比 IDE,打开大文件的速度快得多
vim 文件名
有文件则打开;没有则新建
三种模式
-
一般命令模式(默认模式)
通过按键输入命令,进行不同操作
-
编辑模式
一般命令模式,输入 i 进入,ESC 返回
不常用的方式:
- 输入 a ,移动到行尾开始编辑
- 输入 o ,在新插入的一行中开始编辑
-
命令行模式
一般命令模式,按 : / ? 进入,命令行在最下方
操作
命令行皆用``标记,shift 输入大写字母
-
数字n + Space
光标向右移动 n 个字符(可以跨行)
-
0 或 Home
光标移动到本行开头
-
$ 或 End
光标移动到本行末尾
-
数字n + Enter
向下移动 n 行
-
:n
/ nG ,G,gg移动到第 n 行,没有 n 到末行,gg = 1G,到首行
-
/MGC
向下寻找首个为 MGC 的字符串,定位到字符串前一位
-
?MGC
向上寻找首个为 MGC 的字符串
-
n
反复执行上一个查找操作(高效查找)
-
N
反向进行上一个查找操作
-
:noh
取消查找关键词的高亮
-
:n1,n2s/MGC/xcr/g
在第 n1 与 n2 行间寻找字符串 MGC,替换为 xcr
-
:1,$s/MGC/xcr/g
将全文的 MGC 替换为 xcr
-
:1,$s/MGC/xcr/gc
预定替换,但每次替换前要按 Y/N 确认,适用于选择替换
-
v
开始文本选中
-
d
剪切选中文本(兼用删除)
-
y
复制选中文本
-
dd
剪切当前行
-
yy
复制当前行
-
p
将复制的文字 / 行在下一光标处 / 下一行粘贴
-
u
撤销操作
按 Ctrl + R 取消撤销
-
数字n + > / <
将选中行整体向右 / 左缩进 n 次,无 n 则按 2 下方向移 1 次
-
==
格式化当前行(缩进和空格)
-
组合技:gg=G / ggdG / ggyG
格式化 / 删除 / 复制全文
G 换成 nG 变为选择 1-n 行
-
保存和退出
:w
保存
:w!
强制保存
:q
退出(需要保存)
:q!
强制退出(不保存)
:wq
保存并退出 -
:set paste
/:set nopaste
开启粘贴模式,取消自动缩进 / 取消粘贴模式,开启自动缩进
粘贴时不会识别已有的缩进,导致重复缩进
所以需要取消自动缩进,待粘贴完后及时关闭
-
:set nu
/:set nonu
显示 / 隐藏行号
异常处理
-
操作:快捷键 Ctrl + Q
vim 卡死时(如死循环),可以取消正在执行的命令
-
用 vim 编辑文件时,会自动创建一个
.文件名.swp
的临时文件,swp 存在时打开文件会报错,文件正常关闭时,一般自动删除 swp- 要在存在 swp 的情况下打开文件,可以:
- 退出正在打开文件的程序
- 直接给他
rm
咯
- 要在存在 swp 的情况下打开文件,可以: