乐于分享
好东西不私藏

Vim 插件扩展

Vim 插件扩展
Vim 编程效率提升系列
01配置优化:让终端编辑器变成编程利器
02插件扩展:用 vim-plug 打造全功能终端 IDE(当前篇)
03工作流习惯:宏录制与批量操作的艺术

Vim 插件扩展:用 vim-plug 打造全功能终端 IDE

进阶Vim 编程效率提升系列 · 第 02 篇(共 3 篇)
READING GUIDE
读完本篇你将能:安装 vim-plug 插件管理器,配置文件树、自动补全、快速注释和括号匹配插件,在 Termux 和 macOS 上打造一个轻量但功能完整的终端 IDE。
目录
1什么时候需要插件,什么时候不需要
2安装 vim-plug 插件管理器
35 个必装轻量插件(逐个讲解)
4Termux 特别注意事项
5常见错误提示
◆

第一章:什么时候需要插件,什么时候不需要

Vim 的原生命令已经非常强大——搜索替换有 :s,文件跳转有 :e,窗口分割有 :split。很多初学者一上来就装几十个插件,结果 Vim 启动变慢、配置混乱、插件之间互相冲突。

在装插件之前,先问自己两个问题:

1. 这个功能原生命令做不到吗?
2. 我是否高频使用这个功能?

如果原生命令已经能完成,只是操作稍微多几步,那就不值得装插件。插件过多有三个代价:启动慢(每次打开 Vim 都要加载)、配置复杂(维护成本上升)、依赖冲突(插件 A 的功能可能被插件 B 覆盖)。

功能
原生命令
推荐方式
搜索替换
:%s/old/new/g
不需要插件
语法高亮
:syntax on
不需要插件
文件树浏览
:!ls
 或 :Explore
推荐(高频)
括号配对
无原生方案
推荐
快速注释
I#Esc
 手动操作
推荐(高频)
TIP
推荐原则:从 0 个插件开始,每遇到一个真实痛点再加一个。先用原生方式工作,当你发现某个操作重复了十次以上,再去找对应的插件。

第二章:安装 vim-plug 插件管理器

vim-plug 是最轻量的 Vim 插件管理器,只有一个 plug.vim 文件,不需要额外依赖。Termux 和 macOS 的安装命令完全一样。

在终端执行以下命令(下载 plug.vim 到 Vim 的 autoload 目录):

shell
curl-fLo~/.vim/autoload/plug.vim--create-dirshttps://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

然后在 ~/.vimrc 中添加插件配置段:

.vimrc
callplug#begin('~/.vim/plugged')
" 插件列表(在此添加 Plug 行)
callplug#end()

保存 .vimrc 后,重新进入 Vim,执行安装命令:

:PlugInstall

预期输出:Vim 会打开一个分割窗口,显示正在安装的插件列表。每个插件名称旁边有进度条([====] 样式),下载并安装完成后显示 Done。全部完成后,底部提示 Finishing ... Done!,按 q 关闭安装窗口。

更新插件:

:PlugUpdate

删除插件:先从 .vimrc 中删除对应的 Plug 行,保存后执行:

:PlugClean

Vim 会列出将要删除的插件,输入 y 确认删除。

第三章:5 个必装轻量插件(逐个讲解)

以下 5 个插件覆盖了日常编程最核心的需求:文件浏览、括号配对、快速注释、Tab 补全和状态栏。全部轻量级,启动几乎无感。

1

nerdtree(文件树侧边栏)

在 Vim 中显示文件树侧边栏,方便浏览项目结构、快速打开文件。适合在多文件项目中导航。

.vimrc 配置:
vim
Plug'preservim/nerdtree'
" Ctrl-n 切换文件树
map<C-n>:NERDTreeToggle<CR>
使用方式:
:NERDTree 打开文件树窗口
o 在当前窗口打开选中文件
m 弹出操作菜单(新建/删除/复制等)
Ctrl-n 随时切换文件树(映射后)
预期效果:
左侧出现垂直文件树窗口,显示项目目录结构。用方向键浏览后按 o 打开文件,无需退出 Vim 即可切换文件。
2

auto-pairs(括号自动补全)

输入左括号自动补全右括号,输入引号自动配对。在括号内按 Backspace 会同时删除配对括号。零配置即用。

.vimrc 配置:
vim
Plug'jiangmiao/auto-pairs'
使用方式:
输入 ( 自动补全 ),光标停在中间
输入 " 自动补全 ""
在括号内按 Backspace,同时删除配对括号
预期效果:
输入 ( 后立即出现 (),光标在中间。写完内容后输入 ) 直接跳过已补全的右括号。
3

vim-commentary(快速注释)

一键注释/取消注释代码,自动识别文件类型:Python 文件用 #,C 文件用 //,HTML 用 <!-- -->。无需手动输入注释符号。

.vimrc 配置:
vim
Plug'tpope/vim-commentary'
使用方式:
gcc 注释/取消注释当前行
gc + 移动命令(如 gcj 注释当前行和下一行)
gcap 注释整个段落
预期效果:
Python 文件中按 gcc 自动在行首添加 #,再按一次取消注释。C 文件中自动添加 //。
4

supertab(Tab 补全)

用 Tab 键触发自动补全,基于当前缓冲区已有的单词。比手动按 Ctrl-n/Ctrl-p 更顺手,符合现代编辑器的补全习惯。

.vimrc 配置:
vim
Plug'ervandew/supertab'
使用方式:
插入模式输入几个字母后按 Tab,弹出补全菜单
Tab 向下选择,Shift-Tab 向上选择
配合 Ctrl-n / Ctrl-p 手动选择
预期效果:
输入 pri 后按 Tab,弹出 print 等已有单词的补全列表,按 Tab 循环选择。
5

vim-airline(状态栏美化)

底部状态栏美化,显示文件名、模式(NORMAL/INSERT/VISUAL)、编码、行列号等信息。安装后无需配置即生效。

.vimrc 配置:
vim
Plug'vim-airline/vim-airline'
" 状态栏显示标签页列表
letg:airline#extensions#tabline#enabled = 1
使用方式:
无需额外配置,安装后自动生效
状态栏会显示当前模式、文件名、编码和行列号
预期效果:
底部出现彩色状态栏,左侧显示模式(如 NORMAL/INSERT),右侧显示文件名、UTF-8 编码和光标位置(如 12:3 表示第 12 行第 3 列),一眼看清编辑状态。

完整 .vimrc 插件配置段:将以下内容添加到 .vimrc 中,保存后执行 :PlugInstall 一次性安装全部 5 个插件。

.vimrc
1
call
plug#begin('~/.vim/plugged')
2
" 文件树侧边栏
3
Plug
'preservim/nerdtree'
4
" 括号自动补全
5
Plug
'jiangmiao/auto-pairs'
6
" 快速注释
7
Plug
'tpope/vim-commentary'
8
" Tab 补全
9
Plug
'ervandew/supertab'
10
" 状态栏美化
11
Plug
'vim-airline/vim-airline'
12
" Ctrl-n 切换文件树
13
map
<C-n>:NERDTreeToggle<CR>
14
let
g:airline#extensions#tabline#enabled = 1
15
call
plug#end()

第四章:Termux 特别注意事项

Termux 默认安装的 Vim 支持 Python 和 Lua 扩展,上述 5 个插件全部可用。但有几个 Termux 特有的坑需要注意。

1. 部分插件需要 git

vim-plug 通过 git 克隆插件仓库,Termux 需要先安装 git:

shell
pkginstallgit
2. vim-plug 下载失败

如果 curl 下载 plug.vim 失败(网络问题),可以手动下载 plug.vim 文件,放到 ~/.vim/autoload/ 目录下。用浏览器访问 GitHub 仓库页面,复制 plug.vim 的原始内容,在 Termux 中用 Vim 创建该文件即可。

TIP
3. 存储空间:Termux 存储空间有限,每个插件占几 MB,装多了会累积。只装最需要的,定期用 :PlugClean 清理不用的插件。
4. 小屏幕适配:手机屏幕小,nerdtree 常驻会占太多空间。建议用 :NERDTreeFind 定位当前文件在树中的位置,而不是让文件树常驻屏幕。

第五章:常见错误提示

ERROR 1
E117: Unknown function: plug#begin
原因:vim-plug 没有正确安装,Vim 找不到 plug#begin 函数。
解决:重新执行 curl 命令,确认 ~/.vim/autoload/plug.vim 文件存在。在终端运行 ls ~/.vim/autoload/plug.vim 检查。如果网络不通,手动下载 plug.vim 放到该目录。
ERROR 2
插件装了但没效果
原因:Plug 行写在了 call plug#begin() 和 call plug#end() 之外。只有在这两行之间添加的插件才会被 vim-plug 管理。
解决:检查 .vimrc,确保所有 Plug 行都在 call plug#begin 和 call plug#end 之间。修改后重新执行 :PlugInstall。
知识回顾
vim-plug 安装:PlugInstall:PlugUpdate:PlugCleannerdtree 文件树auto-pairs 括号补全vim-commentary 注释supertab Tab 补全vim-airline 状态栏
◆

动手练习

🟢基础
安装 vim-plug 和 nerdtree,用 :NERDTree 打开文件树浏览你的项目目录。
提示:先执行 curl 安装 vim-plug,再在 .vimrc 添加 Plug 行,最后 :PlugInstall。
🟡组合
配置 nerdtree 快捷键 Ctrl-n 切换,安装 vim-commentary 并练习用 gcc 注释 Python 代码。
参考解法:
1. 在 .vimrc 的 plug#begin 和 plug#end 之间添加 nerdtree 和 vim-commentary 的 Plug 行,以及 map 映射
2. 保存后重启 Vim,执行 :PlugInstall 安装两个插件
3. 打开一个 Python 文件:vim test.py
4. 按 Ctrl-n 打开文件树,再按 Ctrl-n 关闭
5. 在普通模式按 gcc 注释当前行(自动加 #),再按一次取消注释
6. 用 V 选中多行后按 gc 批量注释选中的代码块
🔴开放
研究 airline 的主题系统,尝试安装一个 airline 主题插件(如 vim-airline-themes),思考状态栏信息如何帮助你定位编辑位置。
提示:添加 Plug 'vim-airline/vim-airline-themes',安装后用 :AirlineTheme 命令切换主题。思考:状态栏上的行列号、修改标记(+)、文件编码分别帮你解决什么问题?
◆
下一篇预告
03 工作流习惯:宏录制与批量操作的艺术
插件让 Vim 功能更丰富,但真正的效率提升来自工作流。下一篇我们将学习宏录制、批量替换和寄存器操作,用最少的按键完成最复杂的重复任务。
继续学习:宏录制与批量操作的艺术 →

相关学习资料