reference website: Linux vi/vim
VIM简介
VIM是一个很强大的Linux的编辑器(没办法,因为楼主懒嘛:)
VIM命令
撤销
- u 撤销
重复之前命令
- Ctrl+r 或者 .(引文输入法中的句点)
显示行号
- set nu 显示行号
- set nonu 取消行号显示
光标移动
- HJKL分别对应左下上右,还有相关的方向按键,
- 数字+方向按键+回车=向指定方向移动指定刻度
- n+=数字+L=数字±>
- 0(Home) 移动至行首 $(end)移动至行尾
- +移动到下一行行首 -移动到上一行行首
- Ctrl+d 向下半页 Ctrl+u 向上半页
- H->当前页面第一行首 M->当前页面中间行首 L->当前页面最下面行行首 G->整个文件尾 gg->文件头
- nG移动到第几行 gg->1G
搜索
- /word 由光标至下搜索
- ?word 由光标至上搜索
- n 顺向向下检索 N反向检索
替换
指定行替换 :n,ms/para1/para2/g 在n行和m行之间用para2替换para1
全局替换1 :1,
s
/
p
a
r
a
1
/
p
a
r
a
2
/
g
全
局
替
换
2
:
全
局
替
换
1
+
确
认
:
1
,
s/para1/para2/g 全局替换2 :%,s.para1/para2/g 全局替换1+确认 :1,
s/para1/para2/g全局替换2:全局替换1+确认:1,s/para1/para2/gc
全局替换2+确认 :%,s.para1/para2/gc
删除
- 单个字符删除 x/X x向后删除 X向前删除
- 多个字符删除 nx
- 删除单行 dd
- 删除多行 ndd 删除从光标所在行至下n行
- 删除由光标行至第一行 d1G
- 删除由光标行至尾行 dG
- 删除由行标值行末 d$
- 删除由行标至行首 d0
复制
- 复制光标当前行 yy
- 复制由光标以下n行 nyy
- 复制由首行至光标行 y1G
- 复制由光标行至尾行 yG
- 复制由行首至光标处 y0
- 复制由光标至行尾 y$
粘贴
- 从当前光标下一行粘贴 p
- 从当前光标上一行粘贴 P
切换输入模式
- i在所在位置之前输入,
- I在所在行首输入
- a在所在位置之后输入
- A在所在行末尾输入
- o在光标所在行下一行输入(新建一行)
- O在光标所在行上一行输入(新建一行)
- r 只会取代光标所在的那一个字符一次
- RR会一直取代光标所在的文字,直到按下 ESC 为止
指令行命令补充
- :w 保存
- :q 退出
- :wq 保存并退出
- ZZ 若档案没有更动,则不储存离开,若档案已经被更动过,则储存后离开!
- :w filename 另存为
- :r filename 从指定文件读入信息,信息从光标后填充
- :n1,n2 2 filename 将n1,n2行之间的信息存储为 filename文件中
- :! command 短暂离开Vi编辑器,执行command命令