Vim的三种模式
Vim中一般存在三种模式:命令模式、编辑模式(输入模式)、末行模式(尾行模式)。
命令模式:在该模式下是不能对文件直接编辑,可以输入快捷键进行一些操作(删除行,复制行,移动光标,粘贴等等,打开文件后默认进入该模式);
编辑模式:在该模式下可以对文件的内容进行编辑;
末行模式:可以在末行输入命令来对文件进行操作(搜索、替换、保存、退出、撤销、高亮等等)。
1.命令模式
1.1 光标移动
①光标移动到行首
按键:shift + 6 或 ^(T字母上面的6,不是小键盘的6)
②光标移动到行尾
按键:shift + 4 或 $(R字母的左上角的4,不是小键盘的4)
③光标移动到首行
按键:gg
④光标移动到末行
按键:G
⑤翻屏
向上翻屏:按键ctrl + b 或 PgUp
向下翻屏:按键ctrl + f 或 PgDn
1.2 复制操作
①复制光标所在行
按键:yy
粘贴:在想要粘贴的地方按下p键
②以光标所在行为准(包含当前行),向下复制指定的行数
按键:数字yy
③可视化复制
按键:ctrl + v(可视块)或V(可视行)或v(可视),然后按下↑↓←→方向键来选中需要复制的区块,按下y键进行复制,最后按下p键粘贴
1.3剪切或删除
①剪切/删除光标所在行
按键:dd (删除之后下一行上移)
注意:dd严格意义上说是剪切命令,但是如果剪切了不粘贴就是删除的效果。
②剪切/删除光标所在行为准(包含当前行),向下删除/剪切指定的行
按键:数字dd (删除之后下一行上移)
③剪切/删除光标所在的当前行之后的内容,但是删除之后下一行不上移
按键:D (删除之后当前行会变成空白行)
④可视化删除
按键:ctrl + v(可视块)或V(可视行)或v(可视),上下左右移动,按下D表示删除选中行,d表示删选中块
1.4 撤销或恢复
撤销:输入:u (不属于命令模式) 或者 u (undo)
恢复:ctrl + r 恢复(取消)之前的撤销操作
1.5 光标快速移动
①快速将光标移动到指定的行
按键:数字G
②以当前光标为准向上/向下移动n行
按键:数字↑,数字↓
③以当前光标为准向左/向右移动n字符
按键:数字←,数字→
④末行模式下的快速移动方式:移动到指定的行
按键:输入英文“:”,其后输入行数数字,按下回车
2.末行模式
进入方式:在命令模式下,按下“:”或者“/(表示查找)”即可进入
退出方式:
1. 按下esc
2. 连按2次esc键
3. 删除末行全部输入字符
①保存操作(write)
输入::w 保存文件
输入::w 路径” 另存为
②退出(quit)
输入::q 退出文件
③保存并退出
输入::wq 保存并且退出
④强制 (!)
输入::q! 表示强制退出,刚才做的修改操作不做保存
⑤调用外部命令
输入: :!外部命令(这的冒号和感叹号都是英文的)
⑥搜索/查找
输入:/关键词
找到的关键词则会高亮显示
⑦替换
:s/搜索的关键词/新的内容 替换光标所在行的第一处符合条件的内容
:s/搜索的关键词/新的内容/g 替换光标所在行的全部符合条件的内容
:%s/搜索的关键词/新的内容 替换整个文档中每行第一个符合条件的内容
:%s/搜索的关键词/新的内容/g 替换整个文档的符合条件的内容
%表示整个文件
g表示全局(global)
⑧显示行号(临时)
输入::set nu
如果想取消显示,则输入::set nonu
⑨打开多个文件在末行模式下进行切换文件
1.查看当前已经打开的文件名称: :files
在%a的位置有2种显示可能
%a:a=active,表示当前正在打开的文件;
#:表示上一个打开的文件
2.切换文件的方式:
2.1 如果需要指定切换文件的名称,则可以输入::open 已经打开的文件名
2.2 可以通过其他命令来切换上一个文件/下一个文件
输入::bn 切换到下一个文件
输入::bp 切换到上一个文件
3.编辑模式
进入方式:
- i :在光标所在字符前开始插入
- a :在光标所在字符后开始插入
- o:在光标所在行的下面另起一新行插入
- I :在光标所在行的行首开始插入,如果行首有空格则在空格之后插入
- A:在光标所在行的行尾开始插入
- O:在光标所在行的上面另起一行开始插入
- S:删除光标所在行并进行插入