一、光标移动
操作 | 命令 |
---|---|
字符级别 向左,向右 | → \rightarrow →, ← \leftarrow ← |
单词级别向左,向右 | b或shift+ ← \leftarrow ←,w或Shift+ → \rightarrow → |
跳转到行末,行首 | $ ,^ |
跨行 | 3 ↑ \uparrow ↑ (向上移动三行),4 ↓ \downarrow ↓ (向下移动4行) |
翻页 | ctrl+f或shift+ ↓ \downarrow ↓ (往下翻页),ctrl+b或shift+ ↑ \uparrow ↑ (往上翻页 ) |
文件末、文件首 | G,gg |
文件N%处 | 10+% |
指定text处 | /text(n向下跳转,N向上跳转),/^$(查找空白行) |
二、文件显示
操作 | 命令 |
---|---|
显示行数 | :set nu或set number |
显示、取消行尾 | :set list ,:set nolist |
查看文件编码 | :set fileencoding |
使用指定编码重新打开文件 | :e ++enc=gb18030 |
三、编辑文件
3.1进入编辑模式
操作 | 命令 |
---|---|
光标位置进入编辑模式 | i |
光标右边进入编辑模式 | a |
光标位置下另起一行进入编辑模式 | o |
光标位置上另起一行进入编辑模式 | O |
光标所在行行末进入编辑模式 | A |
光标所在行行首编辑模式 | I |
删除光标前一个单词 | ctrl+w(需要先进入编辑模式) |
3.2命令模式下编辑文件
操作 | 命令 |
---|---|
字符级剪切(删除) | x |
选中文本后删除 | v模式选中文本+d |
删除一行 | dd |
删除N行 | N+dd |
删除第m行到第n行 | :m,nd |
复制 | v模式+y,yy(复制一行) |
粘贴 | p |
整行选中文本 | shift+v(选中文本,可以上下移动选中多行) |
3.2命令模式下批量编辑
操作 | 命令 |
---|---|
全文范围替换 | :%s/old/new/g |
光标在行替换 | : s/old/new/g |
从第m行到第n行替换 | :m,ns/old/new/g |
光标所在行到文末替换 | :%s/old/new/g |
对行首添加注释 | :m,ns/^/#/g |
对行末添加注释 | :m,ns/$/#/g |
3.3退出当前文件
操作 | 命令 |
---|---|
退出 | :q (文件未改动) |
退出不保存 | :q!(文件已改动) |
退出并保存 | :wq 或:wq! |
四、多个文件操作
操作 | 命令 |
---|---|
快速定位两文件不同 | vimdiff file1 file2 |
竖屏打开两个文件 | vim -O file1 file2 |
已经打开一个文件后竖屏打开另一个文件 | :vs file2 |
光标跳转到下个窗口 | ctrl+w+w |
关闭当前窗口 | ctrl+w+c |