移动光标
h左移,l右移,j下移,k上移
退出vim
:q!不保存退出
:qw 保存并退出
删除内容
x 删除光标所在的单个字符
dd 删除一整行
num+dd删除num行(5dd删除5行)
dw 删除从一个单词到另一个单词之间的所有内容(如果光标在两个单词之间的空格上会删除光标之后的所有空格)
d 对象 其中: d -是操作码 motlion -是操作码要操作的对象(译者:更确切地说应是范围吧?)(罗列在下方) 关于对象的小清单:
w -到下一个单词头,除开所在的第一个字符。
e -到下一个单词尾,包括所在单词的最后一个字符。
$- 到行尾,包括了最后一个字符。
0- 到行首,包含空格。
^ -到行首,不含空格。
G -到文本最后一行首
gg -到文本首行。
注: 不带操作码按下对象键时,仅会按对象指定的方式 移动光标。
恢复内容
u恢复单个操作
U恢复整行的操作
Ctrl + r撤销u的操作(与u是相反操作,不能撤销U)
Put内容(将删除的内容put到别的地方)
p
因为删除是将删除的内容放入寄存器中,所以此时可以使用p将寄存器中的内容放在自己需要的位置。
插入内容
i 在光标之前插入内容
a在光标之后追加内容
A 在本行末尾插入内容
o在新建光标的下一行,并在下一行中键入新内容
O在光标的上一行
替换命令
r将选中的光标替换为自己想要的字符
R从光标开始后可以一直替换(不仅仅只替换一个)
:s/oldword/newword将本行的首个oldword替换为newword
:s/oldword/newword/g 将选中行的所有word进行替换
变更操作码(和d类似)
c + 各类对象(ew等)
其实就是删除给定的范围并进入编辑模式(相当于d删除后使用i进入编辑模式)
光标定位
使用Ctrl + g可以显示行号信息
gg可以移动到文本末尾
G可以移动到文本开通
键入行号+G可以快速移动到相应的行号
搜索命令
/ + 关键字,使用n进行浏览,N反向浏览
? + 关键字,进行反向搜索(从末尾开搜)
括号匹配
将光标放到一个括号上,使用%可以移动光标到对应的反括号上。
执行外部命令
:! + 外部执行命令 + 回车
粘贴复制
y操作码复制选中的内容
p粘贴
每一列进行大小写转换
使用Ctrl + v进入列选择模式,然后选择需要的列
u变小写,U变大写