1. vim简介
vi编辑器是所有Unix及Linux系统的任何版本下标准的编辑器,类似于windows系统下的notepad(记事本)编辑器。vim可以视为vi的升级版,它比较高级,更适用于coding,vim的重点是:光标的移动、模式切换、删除、查找替换、复制粘贴、撤销命令6个命令的使用。
vim中存在3种模式:
(1) 命令模式:该模式下不能对文件进行编辑,但可以输入快捷键进行一些操作(删除行、移动光标、粘贴等)------这是打开文件后默认进入的模式;
(2) 编辑模式(输入模式):该模式下可以对文档内容进行编辑;
(3) 末行模式:可以在末行输入命令来对文件进行操作(搜索、替换、保存、退出、撤销、高亮等)。
2. vim 基本命令
|-----|------------------|
| 快捷键 | 功能描述             |
| i   | 在当前光标位置插入文本      |
| x   | 删除当前光标所在位置的字符    |
| :w  | 保存文件             |
| :q  | 退出vim编辑器         |
| :q! | 强制退出vim编辑器,不保存文件 |
| :wq | 保存文件并退出vim编辑器    |
3.vim光标移动命令
|-----|----------------|
| 快捷键 | 功能描述           |
| h   | 将光标向左移动一个字符    |
| j   | 将光标向下移动一行      |
| k   | 将光标向上移动一行      |
| l   | 将光标向右移动一个字符    |
| w   | 将光标移动到下一个单词的开头 |
| e   | 将光标移动到当前单词的末尾  |
| b   | 将光标移动到上一个单词的开头 |
| 0   | 将光标移动到当前行的开头   |
| $   | 将光标移动到当前行的末尾   |
| G   | 将光标移动到文件的末尾    |
| gg  | 将光标移动到文件的开头    |
4. vim文本编辑命令
|-----------------------|---------------------------|
| 快捷键                   | 功能描述                      |
| dd                    | 删除当前行                     |
| ndd                   | 删除当前行(包括此行)后n行文本          |
| dG                    | 删除光标所在行一直到文件末尾的所有内容       |
| yy                    | 复制当前行                     |
| o                     | 在光标所在行的下面插入新的一行,光标停在行首    |
| O                     | 在光标所在行的上面插入新的一行,光标停在行首    |
| p                     | 粘贴已复制或删除的文本               |
| u                     | 撤销上一次的操作                  |
| Ctrl + r              | 重做上一次的操作                  |
| r                     | 替换当前光标所在位置的字符             |
| c                     | 删除从当前光标位置到指定位置的文本,并进入插入模式 |
| v                     | 进入可视模式,选择文本               |
| :s/<old>/<new>/g  | 将当前行中的<old>替换成<new>   |
| :%s/<old>/<new>/g | 将整个文件中的<old>替换成<new>  |
5. vim插入模式命令
|-----------------|----------------------------------------------|
| 快捷键             | 功能描述                                         |
| Esc             | 退出插入模式                                       |
| Ctrl + A / Home | 将光标移动到所在行的行首                                 |
| Ctrl + E / End  | 将光标移动到所在行的行尾                                 |
| Ctrl + U        | 删除从当前光标位置到行首的全部内容                            |
| Ctrl + K        | 删除从当前光标位置到行尾的全部内容                            |
| Ctrl + W        | 删除光标前的单词,如果光标在单词上,则会删除光标位置到行首的全部字母           |
| Alt + D         | 由光标位置开始,往右删除单词                               |
| Ctrl + Y        | 粘贴Ctrl + W、Alt + D、Ctrl + U和Ctrl + K快捷键删除的文本 |
| Ctrl + T        | 插入一个制表符                                      |
| Ctrl + 左右键      | 在单词间跳转                                       |
| Ctrl + P        | 向上一行移动                                       |
| Ctrl + N        | 向下一行移动                                       |
| Ctrl + Z        | 将正在运行的程序放到后台执行(类似于&)                        |
| Ctrl + L        | 清空终端                                         |
| Ctrl + D        | 退出当前终端                                       |
| Ctrl + R        | history                                      |
6. vim其他命令
|-----------------|----------------------------|
| 快捷键             | 功能描述                       |
| :set nu         | 显示行数                       |
| :set nonu       | 隐藏行数                       |
| :set hlsearch   | 高亮显示搜索结果                   |
| :set nohlsearch | 取消高亮显示搜索结果                 |
| / + 关键词         | 从上往下搜索(按n来搜索下一个匹配结果,N反向搜索) |
| ? + 关键词         | 从下往上搜索(按n来搜索下一个匹配结果,N反向搜索) |
| /<pattern>    | 向下搜索<pattern>            |
| / + 上下键         | 搜索历史                       |
7. vim注释多行命令
(1) 将光标放到想要注释的行开头
(2) Ctrl+v进入列模式
(3) 用鼠标或键盘↑↓键移动光标覆盖想要注释的多行
(4) Shift+i,输入#
(5) 按下Esc即可
8. vim注释多行命令
(1) 将光标放到想要删除注释的行开头
(2) Ctrl + v进入列模式
(3) 用鼠标或键盘↑↓键移动光标覆盖想要删除注释的多行
(4) 按下x或d即可