Vim 最常用命令笔记
1: 进入编辑模式
insert -> normal 按 ESC 或者 ctrl+[
a appned 在当前字符后插入
i insert 在当前字符前插入
o open a line below 在当前行下新起一行插入
A append after line 在当前行尾插入
I insert before line 在当前行首插入
O appned a line above 在当前行上新起一行插入
:wq write quite 保存离开
2:模式详解
:set nu 设置行号
:vs 竖分屏
:sp 横分屏
:q 退出分屏
%代表全部文件,s代表替换命令 ,末尾 g 代表全局替换,将全部的 java 替换成 php
:% s/java/php/g
Visual(可视模式)
v 进入 visual 模式
V 选择行
Ctrl+v 文本方块选择
3:插入模式小技巧
在编辑输入模式下,比正常的删除键提高效率(同样适用于终端命令)
ctrl+h 删除上一个字符 = 删除键(Backspace)
ctrl+w 删除上一个单词
ctrl+u 删除当前行
gi 快速跳转到最后一次编辑的地方并进入编辑模式
顺便记下终端命令:
ctrl+a 跳转到行首
ctrl+e 跳转到行尾
4:快速移动模式
w/W 移动到下一个单词的开头
e/E 移动到下一个单词的结尾
b/B 移动到上一个单词的开头
f+char 快速移动到 char 字符上,t 移动到 char 的前一个字符
第一次没有搜到可以使用 ; 和 ,继续搜索该行的下一个和上一个
F+char反过来搜前面的字符
0 快速移动到行首第一个字符
^ 快速移动到第一个非空包字符
$ 移动到行尾
(0 和 $ 最常用)
gg/G 快速到文件开头和结尾
ctrl+0 快速返回
H/M/L 快速移动到屏幕开头(Head),中间(Milldle),结尾 (Lower)
Ctrl+u ctrl+f 上下翻页
zz 把光标所在符移动到中间
6:搜索替换
:[range]s[ubstitute]/{pattern}/{string}/[flags]
range 表示范围,比如 :10,20 代表 10-20 行,% 代表全部
pattern 为替换模式,string 是替换后文本
flags 几个标志:
g (gloab) 代表全局范围执行
c (commit) 代表确认执行
n (number) 报告匹配到的次数而不是替换,可以用来查询匹配次数