目录
[1. Vim的三种模式](#1. Vim的三种模式)
[2. 基本操作命令](#2. 基本操作命令)
[3. 文件管理](#3. 文件管理)
[4. 搜索与替换](#4. 搜索与替换)
[5. 文本操作](#5. 文本操作)
[6. 宏与自动化](#6. 宏与自动化)
[7. 配置与自定义](#7. 配置与自定义)
[8. 高级功能](#8. 高级功能)
[9. 插件与扩展](#9. 插件与扩展)
前言
Vim 是一个强大的文本编辑器,广泛用于代码编辑和脚本编写。Vim的命令非常丰富,涵盖了文本操作、文件管理、搜索与替换、宏录制、脚本编写等各个方面。以下是Vim命令的详细介绍,涵盖基本操作、文件管理、文本编辑、搜索与替换等。
1. Vim的三种模式
Vim 有三种主要模式:
- 正常模式(Normal Mode):默认模式,用于浏览、编辑和执行命令。在这个模式下,按键代表特定命令。
- 插入模式(Insert Mode) :用于文本输入,类似于其他文本编辑器的普通模式。通过按
i进入插入模式。 - 命令模式(Command Mode) :用于执行文件保存、退出、查找替换等操作。在正常模式下按
:进入命令模式。
2. 基本操作命令
- 进入 Vim :
vim filename:打开指定文件。vim:打开Vim,不指定文件。
- 移动光标 :
h:向左移动光标。j:向下移动光标。k:向上移动光标。l:向右移动光标。gg:移动到文件首行。G:移动到文件尾行。0:移动到当前行的行首。$:移动到当前行的行尾。w:移动到下一个单词的开头。b:移动到上一个单词的开头。
- 编辑操作 :
i:在光标前进入插入模式。a:在光标后进入插入模式。o:在光标下方插入新行并进入插入模式。x:删除光标所在字符。dd:删除当前行。yy:复制当前行。p:在光标后粘贴内容。u:撤销上一个操作。Ctrl + r:重做被撤销的操作。
3. 文件管理
- 保存与退出 :
:w:保存当前文件。:w filename:另存为指定文件名。:q:退出Vim。:q!:不保存退出。:wq:保存并退出。ZZ:保存并退出(正常模式下)。
- 分屏操作 :
:sp filename:水平分屏打开文件。:vsp filename:垂直分屏打开文件。Ctrl + w + w:切换光标到下一个分屏。Ctrl + w + h/j/k/l:在分屏间移动光标。:q:关闭当前分屏。
4. 搜索与替换
- 搜索 :
/pattern:向下搜索指定模式。?pattern:向上搜索指定模式。n:跳转到下一个匹配项。N:跳转到上一个匹配项。
- 替换 :
:s/old/new:将当前行第一个old替换为new。:s/old/new/g:将当前行所有old替换为new。:%s/old/new/g:将全文所有old替换为new。:%s/old/new/gc:替换时逐个确认。
5. 文本操作
-
选择与复制:
v:进入可视模式(选择文本)。V:选择整行。Ctrl + v:进入块可视模式(选择文本块)。y:复制选中文本。d:剪切选中文本。
-
文本缩进:
>>:当前行右移一个缩进。<<:当前行左移一个缩进。>:选择后右移缩进。<:选择后左移缩进。
6. 宏与自动化
-
录制宏:
q{register}:开始录制宏,register是任意字母,用作存储宏的寄存器。- 执行操作(所有键入的命令将被录制)。
q:结束录制宏。
-
播放宏:
@{register}:执行存储在寄存器中的宏。@@:重复上一次执行的宏。
7. 配置与自定义
- Vim 配置文件 :
~/.vimrc是Vim的配置文件,可以在其中定义键绑定、设置选项等。
- 常用配置 :
set number:显示行号。set relativenumber:显示相对行号。set tabstop=4:设置制表符宽度为4。set expandtab:将制表符转换为空格。set autoindent:自动缩进。
8. 高级功能
-
文本折叠:
zf:折叠选中的文本。zo:打开折叠。zc:关闭折叠。za:切换折叠状态。
-
多文件编辑:
:e filename:打开另一个文件。:bnext/:bn:切换到下一个缓冲区。:bprev/:bp:切换到上一个缓冲区。:bd:关闭当前缓冲区。
-
撤销树:
:earlier或:later:在撤销树中前进或后退。
9. 插件与扩展
-
插件管理:
- Vim 支持丰富的插件生态,可以通过插件管理工具(如Vundle、Pathogen、Plug等)来扩展功能。
:PluginInstall:安装插件(以Vundle为例)。
-
常用插件:
NERDTree:文件浏览器。CtrlP:模糊文件查找。vim-airline:美化状态栏。YouCompleteMe:代码补全。