插入模式
iinsert 进入编辑模式
Iinsert before line 在行首开始插入
aappend 和 ==i== 相似,不同在于在当前光标所在字母前,还是后插入(一试便知)
Aappend after line 在行尾开始插入
oopen a line below 在当前行下面新生成一行并进入编辑模式(你是不是还在的敲回车呢!)
Oappend a line above 在当前行上一行开始插入
Ctrl + h删除上一个字符
Ctrl + w删除上一个单词
Ctrl + u删除当前行
Normal模式
:set nu设置行号
:set hls设置搜索结果高亮
:set incsearch增量搜索结果高亮
:vs垂直分屏
:sp水平分屏
:q退出当前分屏
:% s/hello/world/g将当前文件中的hello替换为world
:% s/\<xxx\>/yyy/g正则匹配xxx
替换标志位
gglobal 全局范围内执行cconfirm 表示确认,可以确认或拒绝修改nnumber 报告匹配到的次数而不替换,可以用来查询匹配次数
反人类的上下左右
hjkl
h左移(四个键的最左边)l右移(四个键的最右边)j下移k上移
单词间移动
word:以非空白符分割的单词(真单词)
WORD:以空白符分割的单词(不一定是单词)
w/W移动到下一个单词word/WORD的开头e/E移动到下一个单词word/WORD的结尾b/B移动带上一个单词word/WORD的开头
行间搜索移动
f{char}同一行搜索并移动到该字符t{char}同行搜索并移动到该字符的前一个字符;分号下一个,逗号上一个F{char}反过来搜索前面的字符0移动到行首第一个字符^移动到第一个非空字符$移动到行尾g_移动到行尾非空白字符zz把当前行置为屏幕中间
文件开头、结尾
gg快速移动到文件开头G快速移动到文件结尾
屏幕开头、中间、结尾
HHead 跳转到屏幕开头MMiddle 跳转到屏幕中间LLower 跳转到屏幕结尾
翻页
Ctrl + uupword 向上翻页Ctrl + fforward 向下翻页
Visual可视模式
vVISUAL 进入可视模式,此时按上下左右可选中状态
VVISUAL LINE 选中整行
Ctrl vVISUAL BLOCK 方块选中
选中之后干什么
ddelete 删除选中内容
yyanke 复制选中内容
ppaste 粘贴内容(在当前光标位置后或下以行粘贴内容)
命令模式
快捷键
Ctrl + [快速切换Insert模式到Normal模式
gi快速回到最后一次编辑的位置
Vim增删改查
增加字符
a/i/o
快速删除
x快速删除一个字符d配合文本对象快速删除一个单词d和x都可以搭配数字来执行多次dw==daw删除单词个空格diw删除单词,不删空格dt{char}删除光标到目标字符之间的所有字符d0删除到行首之间的字符d$删除到行尾之间的字符4x删除4个字符2dd删除两行
快速修改
rreplace r{char} 替换光标所在字符R以替换的形式输入cchangessubstitute 删除光标所在字符,并进入插入模式2s删除两个字符并进入插入模式
查询
/正向查询?反向查询n跳转到下一个匹配N跳转到上一个匹配*进行当前单词的前向匹配#进行当前单词的后向匹配