目录
三个模式的切换方式
命令模式命令
vim进入文件是的模式:vim + 文件名
保存并退出:ZZ
| 分类 | 命令 | 作用 | 说明 |
|---|---|---|---|
| 移动光标 | h、l、j、k | 对应 左、下、上、右 | |
| gg | 光标移动文件开头 | ||
| G | 光标移动到文件末尾 | ||
| 0 | 光标移动到行首 | ||
| $ | 光标移动到行尾 | ||
| 123G | 跳转到第123行 | ||
| 删除 | x | 删除光标后一个字符,相当于 Del | 并不是真的删除,实际上是剪切到剪切板 |
| X | 删除光标前一个字符,相当于 Backspace | ||
| dw | 删除从光标开始的通类型的字符,包含光标所在字符(英文字符和数字为一类、中文字符为一类、特殊字符为一类) | ||
| d0 | 删除光标前本行所有内容,不包含光标所在字符 | ||
| D(d$) | 删除光标后本行所有内容,包含光标所在字符 | ||
| dd | 删除光标所在行 | ||
| n dd | 删除指定的行数 | ||
| 撤销 | u | 一步一步撤销 | |
| Ctr + r | 一步步反向撤销 | ||
| 黏贴复制 | yy 和 n yy | yy: 复制当前行,n yy 复制 n 行 | |
| p | 在光标所在位置向下新开辟一行,粘贴 | ||
| P | 从光标所在行, 开始粘贴 | ||
| 可视模式 | v | 按字移动配合 h、j、k、l 使用; 使用y复制选中内容,esc退出选中 | |
| 查找 | /word | 从光标所在位置向后查找 word |
N:向上一个移动 n:向下一个移动 |
| ?word | 从光标所在位置向前查找 word | ||
| # | 光标移动到要查询的单词上使用 #也能 进行查找 | ||
| 替换 | r | 更改当前光标所在位置的单个字符 | |
| 文本移动 | >> | 光标所在文本行右移 相当于tab | |
| << | 光标所在文本行左移 | ||
| 查看 man page | Shift+k | 光标移动到函数上,Shift+k 查找对应的函数 | |
| n Shift + k | 从第n章开始查找 |
文本模式命令
以下是进入文本模式常用的命令
退出文本模式到命令模式安 esc
| 分类 | 命令 | 作用 | 说明 |
|---|---|---|---|
| 插入 | i |
在光标前插入 |
进入文本模式的方式 |
| I(大写i) | 在行首插入 | ||
| a | 在光标后插入 | ||
| A | 在行末插入 | ||
| o | 在光标的下一行插入 | ||
| O | 在光标的上一行插入 | ||
| 删除 | s | 删除光标所在的字符,并在该位置开始插入 | 进入文本模式的方式 |
| S | 删除当前行,并在该开始行插入 | ||
| 代码补全 | ctrl + n/p | 系统函数或关键字或本文档已存在的函数或变量名 |
n是从列表由上往下移动 p是从下往上移动 |
| ctrl + x + l | 整行补全 |
末行模式命令
进入末行模式命令:shift + :
退出末行模式命令:esc × 2次
| 分类 | 命令 | 作用 | 说明 |
|---|---|---|---|
| 跳转 | :n | 光标跳转到第n行 | |
| 替换 | :s/abc/123 | 将当前行中的第一个abc替换为123 | 替换一行 |
| :s/abc/123/g | 将当前行中的abc全部替换为123 | ||
| :%s/abc/123 | 将所有行中的第一个abc替换为123 | 替换全部 | |
| :%s/abc/123/g | 将所有行中的abc全部替换为123 | ||
| :10,30s/abc/123/g | 将10-30行中的abc全部替换为123 | 替换指定行 | |
| 执行shell命令 | !+ shell命令 | 末行模式里输入!,后面跟命令 | |
| 分屏 | sp | 屏幕水平拆分 |
命令:wq 保存并退出光标所在的屏幕
命令:wqall 保存并退出所有屏幕
ctrl + ww 切换两个屏幕 |
| vsp | 屏幕垂直拆分 | ||
| sp(vsp) + 文件名 | 水平或垂直拆分窗口显示两个不同的文件 |
配置文件位置
系统级配置文件目录:/etc/vim/vimrc
用户级配置文件目录:~/.vim/vimrc