编辑模式

  1. 退出保存:ZZ(及按住shift的同时,按两次z)

  2. 代码格式化:gg=G(即连续按2个g,再按=,再按G)

  3. 光标移动

    • 上、下、左、右:方向键或者k、j、h、l

    • 跳到文件头部:gg

    • 跳到文件尾部:G

    • 跳到某行行尾:$

    • 跳转到某行开头:行号+G(比如跳到200行开头->200G)

    • 跳转到某行末尾:行号+$(比如跳到200行末尾->200$)

    • 向下移动n行:行号+回车

  4. 撤销操作

    • 撤销:u

    • 反撤销:ctrl+r

  5. 删除

    • 删除光标后面的字符:x

    • 删除光标前面的字符:X

    • 删除一个单词:dw(注意保证光标在单词的最前面,不然只能删除光标后面的部分)

    • 删除当前行光标前面部分:d0

    • 删除当前行光标后面部分:D或者d$

    • 删除当前行(整行):dd

    • 删除多行:ndd(如10dd,即从当前位置起,往下删除10行(包括当前行))

    • 删除当前位置后面的所有内容:dG(包括当前行)

    • 删除当前位置前面的所有内容:dgg(包括当前行) 注意:vim中的删除其实是剪切操作,删除的内容可以用p命令粘贴

  6. 复制操作

    • 复制当前行:yy

    • 粘贴复制内容:p(当前行下一行);P(当前行上一行)

    • 复制多行:nyy(如3yy,即从当前位置起,往下复制3行(包括当前行))

    • 复制选中:按v进入可视模式,选择要复制的内容,按一个y即可复制完成

  7. 替换操作

    • 替换当前字符(单个):输入r,然后在输入要替换的字符

    • 替换当前字符(多个):输入R,然后在输入要替换的字符(往后替换)

  8. 查找

    • 输入/或?,然后输入要查找的内容,如:/hello 如果搜到多个:n下一个,N上一个

    • 搜索当前光标所在的单词:#

  9. 进入编辑模式

    • a:从光标后面开始插入

    • A:会跳到行尾并从光标后面开始插入

    • i:从光标前面开始插入

    • I:会跳到行首并从光标前面开始插入

    • o:会在光标下一行新建空白行插入

    • O:会在光标上一行新建空白行插入

    • s:删除光标盖住的字符开始插入

    • S:删除光标所在行后开始插入

回到编辑模式:按Esc键(一次或多次)

命令模式(输入":“进入该模式)

  1. q:退出当前文件

  2. q!:强制退出,不保存当前修改

  3. wq或x:保存并退出

  4. 文本替换

    • s/old/new:如:s/exit/quit,将exit替换为quit(只替换当前行第一处)

    • s/old/new/g:文本替换(替换当前行全局)

    • 10-20s/old/new/g:范围行内替换

    • %s/old/new/g:当前文件内进行替换

  5. 分屏命令

    • sp:水平分屏

    • vsp:垂直分屏

    • ctrl+ww:多屏之间切换

    • qall:退出所有屏,以此内推有:wall、wqall

    • vim -o aa.txt bb.txt:进入的时候就进行分屏(o水平;O垂直)

  6. 支持shell命令:!,如:!pwd