1. Vim 概述
Vim(Vi IMproved)是 Vi 编辑器的增强版本,是一个功能强大的文本编辑器,广泛应用于 Linux 和 Unix 系统。Vim 具有模式编辑的特点,分为普通模式、插入模式和命令行模式。
2. Vim 的三种工作模式
(1) 普通模式(Normal Mode)
- 进入方式:按
Esc键 - 特点:用于移动光标、删除、复制、粘贴等操作
- 常用操作:
h、j、k、l:左、下、上、右移动光标w:移动到下一个单词开头b:移动到上一个单词开头0:移动到行首$:移动到行尾gg:移动到文件开头G:移动到文件末尾:n:移动到第 n 行
(2) 插入模式(Insert Mode)
- 进入方式:按
i、a、o、I、A、O等键 - 特点:用于输入文本内容
- 常用操作:
i:在光标前插入a:在光标后插入o:在当前行下方插入新行O:在当前行上方插入新行I:在行首插入A:在行尾插入
(3) 命令行模式(Command Mode)
- 进入方式:在普通模式下按
:键 - 特点:用于执行保存、退出、查找、替换等命令
- 常用操作:
:w:保存文件:q:退出 Vim:wq:保存并退出:q!:强制退出不保存:w filename:另存为:e filename:打开文件:set nu:显示行号:set nonu:隐藏行号
3. 基本编辑操作
(1) 删除操作
x 删除当前字符
dd 删除当前行
dw 删除当前单词
d$ 删除到行尾
d0 删除到行首
ndd 删除 n 行
(2) 复制和粘贴
yy 复制当前行
yw 复制当前单词
y$ 复制到行尾
y0 复制到行首
nyy 复制 n 行
p 在光标后粘贴
P 在光标前粘贴
(3) 撤销和重做
u 撤销上一次操作
Ctrl+r 重做上一次撤销
(4) 查找和替换
/pattern 向前查找 pattern
?pattern 向后查找 pattern
n 查找下一个
N 查找上一个
:s/old/new 替换当前行的第一个 old 为 new
:s/old/new/g 替换当前行的所有 old 为 new
:%s/old/new/g 替换全文的 old 为 new
4. 高级编辑技巧
(1) 多文件编辑
:e filename 打开新文件
:bn 切换到下一个文件
:bp 切换到上一个文件
:bd 关闭当前文件
:ls 列出所有打开的文件
(2) 分屏操作
:sp filename 水平分屏
:vsp filename 垂直分屏
Ctrl+w w 切换窗口
Ctrl+w h 切换到左边窗口
Ctrl+w j 切换到下边窗口
Ctrl+w k 切换到上边窗口
Ctrl+w l 切换到右边窗口
Ctrl+w q 关闭当前窗口
(3) 宏录制
qa 开始录制宏到寄存器 a
q 停止录制
@a 执行寄存器 a 中的宏
@@ 重复执行上一次宏
(4) 标记和跳转
ma 设置标记 a
'a 跳转到标记 a
`` 跳转到上次编辑的位置
Ctrl+o 跳转到上一次位置
Ctrl+i 跳转到下一次位置
5. Vim 配置文件
(1) Vim 配置文件位置
~/.vimrc # 用户配置文件
/etc/vim/vimrc # 系统配置文件
(2) 常用配置选项
set nu " 显示行号
set nonu " 隐藏行号
set tabstop=4 " 设置制表符宽度为 4
set shiftwidth=4 " 设置缩进宽度为 4
set expandtab " 使用空格代替制表符
set autoindent " 自动缩进
set smartindent " 智能缩进
set hlsearch " 高亮搜索结果
set incsearch " 增量搜索
set ignorecase " 忽略大小写
set smartcase " 智能大小写
set mouse=a " 启用鼠标支持
syntax on " 语法高亮
filetype on " 文件类型检测
filetype plugin on " 文件类型插件
filetype indent on " 文件类型缩进
6. Vim 插件管理
(1) Vim 插件管理器
- Vundle:https://github.com/VundleVim/Vundle.vim
- Pathogen:https://github.com/tpope/vim-pathogen
- vim-plug:https://github.com/junegunn/vim-plug
(2) 常用插件
- NERDTree:文件浏览器
- CtrlP:文件快速查找
- vim-airline:状态栏美化
- vim-fugitive:Git 集成
- vim-surround:快速操作括号、引号等
- vim-commentary:快速注释
- vim-markdown:Markdown 语法高亮
7. Vim 常用命令
(1) 文件操作
:w 保存文件
:w filename 另存为
:q 退出
:q! 强制退出不保存
:wq 保存并退出
:x 保存并退出
:e filename 打开文件
:r filename 读取文件内容到当前光标位置
(2) 光标移动
h j k l 左、下、上、右
w 移动到下一个单词开头
b 移动到上一个单词开头
e 移动到下一个单词末尾
0 移动到行首
$ 移动到行尾
gg 移动到文件开头
G 移动到文件末尾
:n 移动到第 n 行
(3) 文本操作
i 插入模式
a 追加模式
o 在当前行下方插入新行
O 在当前行上方插入新行
x 删除当前字符
dd 删除当前行
dw 删除当前单词
yy 复制当前行
p 粘贴
u 撤销
Ctrl+r 重做
(4) 查找替换
/pattern 向前查找
?pattern 向后查找
n 查找下一个
N 查找上一个
:s/old/new 替换当前行的第一个 old
:s/old/new/g 替换当前行的所有 old
:%s/old/new/g 替换全文的 old
8. Vim 实用技巧
(1) 批量注释
Ctrl+v 进入可视块模式
选择多行
I 插入
输入注释符号
Esc 退出
(2) 批量缩进
Ctrl+v 进入可视块模式
选择多行
> 向右缩进
< 向左缩进
(3) 多行编辑
Ctrl+v 进入可视块模式
选择多行
I 插入
输入内容
Esc 退出
(4) 快速跳转
Ctrl+o 跳转到上一次位置
Ctrl+i 跳转到下一次位置
ma 设置标记 a
'a 跳转到标记 a
9. Vim 学习建议
- 循序渐进:从基本操作开始,逐步学习高级功能
- 多练习:在实际工作中使用 Vim,熟能生巧
- 使用插件:根据需求安装合适的插件,提高效率
- 参考文档:遇到问题时查阅 Vim 帮助文档(
:help) - 保持耐心:Vim 学习曲线较陡,但掌握后效率极高
核心要点总结:
- Vim 具有三种工作模式:普通模式、插入模式、命令行模式
- 熟练掌握光标移动、文本编辑、查找替换等基本操作
- 了解 Vim 配置文件(.vimrc)的常用设置
- 学习使用插件提高编辑效率
- 多练习,熟能生巧
Vim 是一个功能强大的文本编辑器,掌握 Vim 可以大大提高文本编辑效率。