
1. Vim 基本操作
1.1 启动 Vim
- 命令:
vim
- 功能: 启动 Vim 编辑器。
- 示例:
vim file.txt # 打开 file.txt 文件
1.2 退出 Vim
-
命令:
:q
-
功能: 退出 Vim。
-
示例:
:q # 退出 Vim
-
命令:
:q!
-
功能: 强制退出 Vim,不保存修改。
-
示例:
:q! # 强制退出 Vim
-
命令:
:wq
-
功能: 保存并退出 Vim。
-
示例:
:wq # 保存并退出 Vim
1.3 保存文件
-
命令:
:w
-
功能: 保存文件。
-
示例:
:w # 保存文件
-
命令:
:w filename
-
功能: 另存为指定文件名。
-
示例:
:w newfile.txt # 另存为 newfile.txt
2. 光标移动
2.1 基本移动
- 命令:
h
,j
,k
,l
- 功能: 分别向左、下、上、右移动光标。
- 示例:
h # 向左移动 j # 向下移动 k # 向上移动 l # 向右移动
2.2 行内移动
-
命令:
0
-
功能: 移动到行首。
-
示例:
0 # 移动到行首
-
命令:
$
-
功能: 移动到行尾。
-
示例:
$ # 移动到行尾
-
命令:
^
-
功能: 移动到行首第一个非空白字符。
-
示例:
^ # 移动到行首第一个非空白字符
2.3 单词移动
-
命令:
w
-
功能: 移动到下一个单词的开头。
-
示例:
w # 移动到下一个单词的开头
-
命令:
b
-
功能: 移动到上一个单词的开头。
-
示例:
b # 移动到上一个单词的开头
-
命令:
e
-
功能: 移动到下一个单词的末尾。
-
示例:
e # 移动到下一个单词的末尾
2.4 段落移动
-
命令:
{
-
功能: 移动到上一个段落。
-
示例:
{ # 移动到上一个段落
-
命令:
}
-
功能: 移动到下一个段落。
-
示例:
} # 移动到下一个段落
2.5 屏幕移动
-
命令:
Ctrl + f
-
功能: 向下翻一页。
-
示例:
Ctrl + f # 向下翻一页
-
命令:
Ctrl + b
-
功能: 向上翻一页。
-
示例:
Ctrl + b # 向上翻一页
-
命令:
Ctrl + d
-
功能: 向下翻半页。
-
示例:
Ctrl + d # 向下翻半页
-
命令:
Ctrl + u
-
功能: 向上翻半页。
-
示例:
Ctrl + u # 向上翻半页
3. 文本编辑
3.1 插入模式
-
命令:
i
-
功能: 在光标前插入文本。
-
示例:
i # 进入插入模式
-
命令:
a
-
功能: 在光标后插入文本。
-
示例:
a # 进入插入模式
-
命令:
I
-
功能: 在行首插入文本。
-
示例:
I # 在行首插入文本
-
命令:
A
-
功能: 在行尾插入文本。
-
示例:
A # 在行尾插入文本
-
命令:
o
-
功能: 在当前行下方插入新行。
-
示例:
o # 在当前行下方插入新行
-
命令:
O
-
功能: 在当前行上方插入新行。
-
示例:
O # 在当前行上方插入新行
3.2 删除文本
-
命令:
x
-
功能: 删除光标处的字符。
-
示例:
x # 删除光标处的字符
-
命令:
dd
-
功能: 删除当前行。
-
示例:
dd # 删除当前行
-
命令:
dw
-
功能: 删除从光标处到下一个单词开头的文本。
-
示例:
dw # 删除从光标处到下一个单词开头的文本
-
命令:
D
-
功能: 删除从光标处到行尾的文本。
-
示例:
D # 删除从光标处到行尾的文本
3.3 复制与粘贴
-
命令:
yy
-
功能: 复制当前行。
-
示例:
yy # 复制当前行
-
命令:
p
-
功能: 粘贴到光标后。
-
示例:
p # 粘贴到光标后
-
命令:
P
-
功能: 粘贴到光标前。
-
示例:
P # 粘贴到光标前
3.4 撤销与重做
-
命令:
u
-
功能: 撤销上一次操作。
-
示例:
u # 撤销上一次操作
-
命令:
Ctrl + r
-
功能: 重做上一次撤销的操作。
-
示例:
Ctrl + r # 重做上一次撤销的操作
4. 搜索与替换
4.1 搜索文本
-
命令:
/
-
功能: 向下搜索文本。
-
示例:
/keyword # 搜索 keyword
-
命令:
?
-
功能: 向上搜索文本。
-
示例:
?keyword # 向上搜索 keyword
-
命令:
n
-
功能: 跳转到下一个匹配项。
-
示例:
n # 跳转到下一个匹配项
-
命令:
N
-
功能: 跳转到上一个匹配项。
-
示例:
N # 跳转到上一个匹配项
4.2 替换文本
-
命令:
:s/old/new/
-
功能: 替换当前行的第一个匹配项。
-
示例:
:s/old/new/ # 替换当前行的第一个 old 为 new
-
命令:
:s/old/new/g
-
功能: 替换当前行的所有匹配项。
-
示例:
:s/old/new/g # 替换当前行的所有 old 为 new
-
命令:
:%s/old/new/g
-
功能: 替换整个文件中的所有匹配项。
-
示例:
:%s/old/new/g # 替换整个文件中的所有 old 为 new
5. 多文件操作
5.1 打开多个文件
- 命令:
vim file1 file2
- 功能: 打开多个文件。
- 示例:
vim file1.txt file2.txt # 打开 file1.txt 和 file2.txt
5.2 切换文件
-
命令:
:n
-
功能: 切换到下一个文件。
-
示例:
:n # 切换到下一个文件
-
命令:
:N
-
功能: 切换到上一个文件。
-
示例:
:N # 切换到上一个文件
5.3 查看文件列表
- 命令:
:files
- 功能: 查看打开的文件列表。
- 示例:
:files # 查看打开的文件列表
6. 宏录制
6.1 开始录制宏
- 命令:
q
- 功能: 开始录制宏。
- 示例:
qa # 开始录制宏到寄存器 a
6.2 结束录制宏
- 命令:
q
- 功能: 结束录制宏。
- 示例:
q # 结束录制宏
6.3 执行宏
- 命令:
@
- 功能: 执行宏。
- 示例:
@a # 执行寄存器 a 中的宏
7. 插件使用
7.1 安装插件管理器
- 命令: 安装 Vim-Plug
- 功能: 管理 Vim 插件。
- 示例:
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
7.2 配置插件
- 命令: 编辑
.vimrc
文件 - 功能: 配置插件。
- 示例:
call plug#begin('~/.vim/plugged') Plug 'tpope/vim-surround' # 安装 vim-surround 插件 call plug#end()
7.3 安装插件
- 命令:
:PlugInstall
- 功能: 安装配置的插件。
- 示例:
:PlugInstall # 安装插件