概述
- 结合命令行的强大编辑器,会识别扩展名,支持各种语言。支持缩进、高亮等功能
- 因为只是编辑器,相比 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 的情况下打开文件,可以: