命令行下输入:vimtutor 可以查看一个vim教程,感觉还不错,这里总结一下
1 删除命令
- 在Normal模式下删除光标所在位置的字符,请按:x
- 在Normal模式下,输入dw可以删除光标所在位置的单词
- 在Normal模式下,输入d$可以删除光标所在位置到行尾
-
删除d的命令如下:
[number] d object 或者 d [number] object
其中:
[nunber]:命令执行的次数,可以不写
d:删除命令
object:各种操作指示,例如:w:表示删除光标后的单词 e:表示删除光标后的单词,但不包括空格 $:表示删除光标开始到行末的字符
-
在Normal模式下,输入dd可以删除光标所在的行,输入2dd可以删除光标所在的行开始的两行字符,正如4中所说,2表示操作执行两次
2 撤销与恢复
- 撤销命令:Normal模式下,u撤销上次命令,U撤销整行的修改命令
- 恢复命令:Normal模式下,Ctrl-R恢复命令
- 粘贴命令:Normal模式下,p将上次复制或者删除的内容粘贴到光标所在的位置
3 修改命令
- 在Normal模式下,输入r和一个字符将替换光标所在的字符
-
更改一个字符命令:Normal模式下,输入cw修改一个字符,可以想到c指代的是change,具体操作如下:
将光标移动到要修改的单词上; 在Normal模式下输入cw,此时Normal模式转化尾Insert模式,原来的单词已经删除,可以直接写入自己要修改的单词了
-
修改c的命令如下:
[number] c object 或者 c [number] object
其实这个很容易想到,因为d的操作也是这样嘛^_^
那么object当然可以用w、e、$了。
4 文件定位
-
文件定位:文件定位有很多,下面说一下我个人常用的命令
gg:回到文档头 G:到达文档尾 shift-0:当道行首 $:到达行尾 ":set nu":显式行号 ":行号":到达某行 ":+<number>":到达光标所在位置的行的后<number>行 ":-<number>":到达光标所在位置的行的前<number>行
5 文件查找
-
文件查找:
Normal模式下输入:/<word> 在文章中查找<word> n:定位到下一个匹配字符 N:定位到上一个匹配字符 Normal模式下输入:?<word> 在文章中反向查找<word> :set hls 高亮显示匹配字符 :set nohls 关掉高亮显示匹配字符
-
匹配括号的查找
将光标移动到左括号下,在Normal模式下输入%,则光标跳转到匹配的右括号处
6 字符替换
字符替换可以用正则表达式的,这里先不说,只说说基本语法:
:s/old/new/g 将old字符串替换为new
如果是输入 :s/old/new 只是替换掉第一个匹配字符
如果是输入 :s/old/new/g 则是替换光标所在的行的所有匹配字符
如果是输入 :#,#s/old/new/g 则是替换两行之间的所有匹配字符,#,#表示两行的行号
如果是输入 :%s/old/new/g 则是替换整篇文章
7 在VIM内部执行外部命令
要执行外部命令,例如ls,rm等,可以通过如下方式进行:
在Normal模式下输入: :!<cmd>
eg. :!ls
8 编辑命令
- 插入命令:在Normal下,输入o在光标的下一行插入新的一行,输入O在光标的上一行插入新的一行
- 插入命令:在Normal下,输入A在光标所在行的行末插入文本,输入a在光标说在的位置后插入文本
- 替换命令:我们知道在Normal下,输入i是插入命令,那么输入R就是替换(覆盖)编辑命令了
9 在线帮助文档
:help 命令可以打开文档 :help 命令可以查看的说明