vim操作
vim的工作模式
命令模式
| 命令 | 作用 |
|---|---|
| a | 在光标所在的字符后插入 |
| A | 在光标所在的行尾插入 |
| i | 在光标所在的字符前插入 |
| I | 在光标所在的行首插入 |
| o | 在光标下插入新行 |
| O | 在光标上插入新行 |
输入模式
输入模式主要用于文本编辑。
编辑模式
| 命令 | 描述 |
|---|---|
| :w | 保存不退出。 |
| :w 新文件名 | 把文件另存为新文件。 |
| :q | 不保存退出。 |
| :wq | 保存后退出。 |
| :! | 强制。 |
| :q! | 强制不保存退出,用于修改文件后,不保存数据退出。 |
| :wq! | 强制保存退出,对于没有没有写权限的时候,强制数据写入。 |
命令模式下操作
vim配置
所有命令只需要在命令模式下输入后回车即可。
| 设置参数 | 描述 |
|---|---|
| :set nu/:set nonu | 显示、取消行号。 |
| :syntax no/:syntax off | 是否依据语法显示相关的颜色帮助。 |
| :set hlsearch/:set nohlsearch | 设置是否将查找到的字符串高亮。 |
| :set ruler/:set noruler | 设置是否显示右下角的状态栏。 |
| :set showmode/:set noshownode | 设置是否在左下角显示INSERT之类的状态栏。 |
| :set list/:set nolist | 设置是否显示隐藏字符(Tab之类)。 |
移动光标
| 命令 | 描述 |
|---|---|
| h | 左移动 |
| j | 下移动 |
| k | 上移动 |
| l | 右移动 |
| gg | 移动到文件头 |
| G | 移动到文件尾 |
| ^ | 移动到行首 |
| $ | 移动到行尾 |
| :n | 移动到n行首 |
删除、剪切
| 命令 | 描述 |
|---|---|
| x | 删除单个字母 |
| nx | 删除光标后n个字母 |
| dd | 删除单行 |
| ndd | 删除光标后n行 |
| :n,md | 删除n到m的行 |
| p(小) | 粘贴到光标后 |
| P(大) | 粘贴到光标前 |
| dG | 删除光标所在行到文件尾行 |
复制
| 命令 | 描述 |
|---|---|
| yy | 复制单行,复制后使用p粘贴 |
| nyy | 复制n行,复制后使用p粘贴 |
撤销
| 命令 | 描述 |
|---|---|
| u | 撤销 |
| Ctrl+r | 反撤销 |
替换
| 命令 | 描述 |
|---|---|
| r | 替换光标所在处的字符 |
| R | 从光标所在处开始替换字符,按ESC结束 |
查找
| 命令 | 描述 |
|---|---|
| /查找内容 | 从光标所在行向下查找 |
| ?查找内容 | 从光标所在行向上查找 |
| n | 下一个 |
| N | 上一个 |
替换
| 命令 | 描述 |
|---|---|
| :n,ms/old/new/g | n到m行的old替换为new |
| :%s/old/new/g | 整个文件的old替换为new |