目录
前言
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
:代码补全。