功能
-
命令行模式下的文本编辑器
-
根据文件扩展名自动判别编程语言。支持代码缩进、代码高亮等
-
使用方式:
vim filename
- 如果存在文件,则打开它
- 如果不存在该文件,就创建一个新的文件,并命名为
filename
模式
-
一般命令模式
-
编辑模式
在一般命令模式里按下
i
按下
esc
会退出编辑模式,返回到一般命令模式 -
命令行模式
在一般命令模式按下
: / ?
三个字母中的任意一,在最下方会出现一个命令行
基本操作
- 进入编辑模式,:
i
- 进入一般命令模式:
esc
- 上下左右:
kjhl
n<space>
,n是数字,按下数字后按空格,光标会移动n个字符的位置,如果遇到需要换行的地方会换行- 光标向下移动到n行:
n<Enter>
- 光标移动到本行的开头:
0
- 光标移动到本行的末尾:
$
- 光标移动到最后一行:
G
- 光标移动到第一行:
gg
,也可以是1G
- 光标移动到第
n
行::n
- 从光标之下找到一个字符串
s
,/s
- 从光标之上找到第一个字符串
s
,?s
- 重复前一个查找操作:
n
- 反向重复前一个查找操作:
N
- 字符串替换:
:a,bs/word1/word2/g
,其中a, b
都是数字,代表行号的起点和终点,word1, word2
表示两个字符串,用word2
替换word1
- 全文替换:
:1,$s/word1/word2/g
- 全文替换,且替换前需要用户确定:
:1,$s/word1/word2/gc
- 选中文本:
v
- 删除选中的文本:
d
- 删除本行:
dd
- 复制选择的文本:
y
- 复制当前行:
yy
- 将复制的数据在光标的下一行、下一个位置进行粘贴:
p
- 撤销:
u
- 取消撤销:
Crtl + r
- 将选中的文本整体向右缩进一次:
>
- 将选中的文本整体向左缩进一次:
<
- 保存:
:w
- 强制保存:
:!w
- 退出:
:q
- 保存并退出::
wq
- 设置成粘贴模式,取消自动缩进:
:set paste
- 取消粘贴模式,开始自动缩进:
:set nopaste
- 显示行号:
:set nu
- 取消行号:
:set nonu
- 全文代码格式化:
gg=G
- 关闭查找关键词高亮:
:noh
- 保命神器:
Ctrl + q