Vim 模式切换 | 命令集  vim 主要模式及切换 一、正常/普通/命令模式 1 光标相关操作命令集 1.1 光标移动 1.2 文字删除 1.3 粘贴和复制 1.4 替换 1.5 字符更改 二、插入模式   三、末行模式 2.1 末行模式和命令行模式相互切换 2.2 末行模式相关命令集   
 
vim是一款历史悠久的多模式文本编辑器,在不同模式下有不同的功能。但实际开发过程中,主要有以下5中模式。
 
Vim默认模式为命令模式,该模式主要用于控制屏幕光标的移动,字符、行的删除。
 
快捷键 功能 小写字母:h、j、k、l vim允许直接使用键盘上的光标移动键来上下左右移动光标,但正规的vim是用h(左移)、j(下移)、k(上移)、l(右移)来控制光标行为 gg光标跳转到文本开始 (n)+ shift + g光标跳转到第n行 或 文本末尾 shift + ^光标移动到该方的“行首” shify + $光标移动到该方的“行尾” 数字(n) + l光标从当前位置开始,向后移动n位 w光标跳到下一个单词的开头(如果非单词,则是下一个字符) e光标跳到下一个单词的结尾(如果非单词,则是下一个字符) b光标跳到上一个单词的开头(如果非单词,则是上一个字符) ctrl + b 屏幕往“后”移动一页 ctrl + f 屏幕往“前”移动一页 ctrl + u 屏幕往“后”移动半页 ctrl + d 屏幕往“前”移动半页 
 
快捷键 功能 x删除当前光标所在位置字符 数字(n) + x删除光标所在位置后n个字符(包含光标所在位置本身) shift + x删除光标所在位置的前一个字符 数字(n) + shift + x删除光标所在位置的前n一个字符 dd删除光标所在行 数字(n) + dd从光标所在行开始,删除n行 
 
快捷键 功能 yy复制当前行到缓冲区数字(n) + yy从光标所在行开始,向后复制n行到到缓冲区 数字(n) +p将缓冲区内的n字符贴到光标所在位置。tip:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能 yw将光标所在位置到字尾的字符复制到缓冲区中。 #yw复制#个字符到缓冲区
 
快捷键 功能 r替换光标所在处的字符R替换光标所到之处的字符,直到按下ESC键为止u撤销回到上一个操作。按多次“u”可以执行多次撤销 ctrl + r撤销的恢复 
 
快捷键 功能 cw更改光标所在处的字到字尾处 c#w例如,「c3w」表示更改3个字 
 
要进行文字输入,vim必须从命令行模式切换到插入模式。
 
从命令行模式切换到插入模式有以下三种方式: 快捷键 功能 i按i进入插入模式后,是从光标当前位置开始输入文字 a按a进入插入模式后,是从光标当前位置的下一个位置开始输入文字 o按o进入插入模式后,是插入新的一行,从行首开始输入文字 
 
从插入模式切换命令行模式只需无脑Esc即可 在末行模式中,我们可以进行文件的保存和退出,文件替换、查找字符串和列出行号等操作。
 
从命令行模式切换到末行模式,只需shift + : 即可。 从末行模式退回命令行模式只需Esc。 快捷键 功能 set + nu列出行号 set + nonu取消行号 数字(n)在冒号后输入一个数字后回车确认,光标会跳转到该行 w!单独w表示保存文件;w!表示强制保存文件 q!单独q表示退出文件;q!表示强制退出文件 / + 关键字查找关键字,如果第一次找的关键字不是您想要的,可以一直按n会往后寻找到您要的关键字为止 ? + 关键字查找关键字,如果第一次找的关键字不是您想要的,可以一直按n会向前寻找到您要的关键字为止