Vim 第一步
移动光标
移动:hjkl ##删除
删除一个字符:x
删除一行:dd
删除换行符:J
撤销和重做
撤销:u(ndo)
重做:CTRL+R(edo)
撤销一行:U(ndo)
其他编辑命令
追加:在一行的末尾添加,a(dd)
在当前行下面新起一行:o
在当前行上面新起一行:O
使用命令计数:数字+命令,如3x
退出
退出:ZZ
放弃修改:’:q!’
帮助:’:help’,使用CTRL+]跳转,CTRL+T回到以前地方,CTRL+O(lder)也可回到以前地方
移动
单词为单位移动
移动到下一个单词首字母:w(ord)
移动到下一个单词尾字母:e(nd)
移动到前一个单词首字母:b(ack)
移动到前一个单词尾字母:ge
查看单词定义:isKeyword选项
移动行首和行尾
行首:^,0,
行尾:$,
移动到指定字符
前向查找:f(ind)或t(o),如查找字符x,使用fx
后向操作:F或T
都可以使用’;’或’,’重复
匹配括号跳转
匹配括号跳转:%
括号定义:matchparis
移动到指定行
移动到指定行:G,如45G
移动到末尾:G
移动到开头:gg
移动百分比:20%或50%
移动到屏幕顶部:H(ome),中间:M(iddle),末尾:L(ast)
显示当前行
显示当前位置:CTRL+G
显示行号:’:set number’
显示光标位置:’:set ruler’
滚屏
向下滚动半屏:CTRL+D(own)
向上滚动半屏:CTRL+U(p)
向上滚动一行:CTRL+E(xtra)
向下滚动一行:CTRL+Y
向前滚动整屏:CTRL+F(orward)
向后滚动整屏:CTRL+B(ack)
屏幕正中间:zz
屏幕最顶边:zt
屏幕最低边:zb
简单搜索
搜索:/搜索文本(查找a,/a),下一个位置:n,
反向搜索:?,前一个位置:N
忽略大小写:‘’:set (no)ignorecase’
搜索当前单词:,非全字匹配为g
反向搜索当前单词:#,非全字匹配为g#
全字匹配:/<搜索文本>
高亮搜索结果:’:set hlsearch’
临时关闭高亮:’nohlsearch’
输入时搜索:’:set incsearch’
使用标记
使用命令后跳转到出发地点:``
标记:m标记,如ma
跳转到标记:标记,如
a
查看标记列表:’:marks’
小幅改动
操作符命令和位移
操作符+位移,如d4w为删除4个单词,d$为删除当前位置到末尾
改变文本
改变命令:c,如c4w为先删除2个单词,再进入插入模式
快捷命令
x 代表dl
X 代表dh
D 代表d$
C 代表c$
s 代表cl
S 代表cc
替换文本:r
重复改动
重复:’.’,除了u命令和CTRL+R和以冒号开头命令
Visual模式
单行选择多个字符:v
多行选择:V
矩形选择:CTRL+V,o和O改变选择范围
移动文本
被删除的文本都被存储,使用p放置在光标之后,使用P放置在光标之前。
复制文本
复制:y,如y2w复制2个单词
复制一行:yy
使用剪切板
复制:”*y
粘贴:”*p
文本对象
操作符命令+文本对象
文本对象:如aw(a word)表示一个单词,daw表示删除一个单词;
as(a sentence)表示一个句子;is(Inner Sentence)
替换模式
替换模式:R
结论
操作符命令+位移命令
操作命令:operator