1、快速定位
- ngg:光标移至第n行的行首(n为数字,想要跳转的行)
- 1gg:就跳到第一行的行首,就是文件头
- 2gg:就跳到第二行的行首
- G:转至文件结尾
- ^:光标移至当前行行首
- $:光标移至当前行行末
- fx:搜索当前行中下一个出现字母x的地方
2、复制和粘贴
- yy:复制当前行(y:yank(复制))
- nyy:复制当前行及其后的 n-1 行(n 是数字)
- p:粘贴(p:paste)
3、删除
- dd:删除光标所在行(d:delete)
- ndd:删除当前行及其后的 n-1 行(n 是数字)
- D:删除光标所在行但后面行不会上移填补剪切行,剪切行会变空
- cc:删除整行,并修改内容
- x:删除光标所在字符
- 数字x:例如[6x]表示删除光标所在位置的“后面(包含自己在内)”6个字符
- X:删除光标所在前一个字符
- 数字X:例如[20X]表示删除光标所在位置的“前面”20个字符
- u:撤销上一步操作
4、查找和替换
- :/pattern :从光标开始处向后搜索pattern,回车后按下 n 或 N
- n:在同一个方向重复上一次搜索命令
- N:在反方向重复上一次搜索命令
- 如果在“/pattern”之前先跳到第一行的话则进行全文件搜索
5、替换
- :s/old/new:用新内容替换光标所在行第一处被搜索到的内容
- :s/old/new/g:用新内容替换光标所在行全部被搜索到的内容
- :%s/old/new:用新内容替换整个文件每一行第一处被搜索到的内容
- :%s/old/new/g:用新内容替换整个文件全部被搜索到的内容
- :%s/old/new/gc:c表示替换时需要确认操作
- “s“ 全称:substitute ,替换
- “g“ 全称:global ,全局
- “c“ 全称:confirm,确认
- s:表示光标所在行第一处
- g:表示光标所在行全部
- %:表示每一行
- %s:表示每一行的第一处
- %s/g:表示每一行的全部,即整个文件
6、保存
:wq,保存当前文件并退出,文件的修改时间一定会改变
:x,保存当前文件并退出,在文件未被修改的情况下,并不会改变文件的修改时间
建议使用:x代替:q和:wq,更加简便,不会在未修改文件的情况下改变文件的修改时间
:q,退出
:q!,强制退出,不保存修改
7、进入文件
- vim 文件路径:直接打开指定文件(光标位于首行或上次关闭文件时光标的所在行)
- vim +数字 文件路径:打开指定文件并将光标移动到指定行(数字对应的行数)
- vim +/关键词 文件路径:打开指定文件并高亮显示关键词
- vim 文件路径1 文件路径2 文件路径3:可同时打开多个文件,文件之间可切换操作