一套开箱即用、专门适配 Nginx 源码 / C 语言开发的 Vim IDE 配置,包含:Nginx 语法高亮、C 语言自动补全、函数跳转、编译运行、错误检查、文件树。
一、先安装依赖(必须)
在 WSL Ubuntu 执行:
bash运行
bash
sudo apt update
sudo apt install -y vim gcc make cmake clangd curl git nodejs npm #ctags
#sudo apt install ctags
sudo apt install universal-ctags
二、一键安装 Vim IDE 配置(Nginx 专用)
1. 安装插件管理器 Vundle
bash运行
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
2. 写入完整 IDE 配置
bash运行
cat > ~/.vimrc << EOF
" ==============================================
" Vim IDE for Nginx (C Language + Nginx Config)
" ==============================================
set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" 插件管理器
Plugin 'VundleVim/Vundle.vim'
" Nginx 配置语法高亮
Plugin 'chr4/nginx.vim'
" C 语言开发必备
Plugin 'derekwyatt/vim-fswitch' " .c <-> .h 切换
Plugin 'vim-scripts/Tagbar' " 函数大纲
Plugin 'preservim/nerdtree' " 文件树
Plugin 'vim-airline/vim-airline' " 状态栏
Plugin 'jiangmiao/auto-pairs' " 括号自动补全
Plugin 'neoclide/coc.nvim' " 自动补全核心
call vundle#end()
filetype plugin indent on
" ========== 基础编辑优化 ==========
syntax enable
set number " 行号
set autoindent " 自动缩进
set smartindent
set expandtab " 空格替代Tab
set tabstop=4
set shiftwidth=4
set cursorline " 高亮当前行
set hlsearch " 搜索高亮
set laststatus=2 " 永久显示状态栏
" ========== Nginx 配置高亮自动识别 ==========
au BufRead,BufNewFile nginx.conf set filetype=nginx
" ========== 快捷键 ==========
map <F2> :NERDTreeToggle<CR> " F2 打开/关闭文件树
map <F3> :TagbarToggle<CR> " F3 打开/关闭函数大纲
map <F5> :make<CR> " F5 编译(执行make)
map <F8> :copen<CR> " F8 打开错误列表
inoremap jj <ESC> " jj 快速退出编辑
" ========== C 语言补全 ==========
set completeopt=menu,menuone,noselect
EOF
3. 安装插件
打开 vim 执行:
bash运行
vim
进入 Vim 后输入:底行模式(命令模式)
:PluginInstall
等待插件安装完成 → 输入 :q 退出。
再次执行vim 如果遇到
bash
[coc.nvim] build/index.js not found, please install dependencies and compile coc.nvim by: npm ci
bash运行:
bash
cd ~/.vim/bundle/coc.nvim
npm ci
#或者
npm install
npm run build
cd -
vim
4. 安装自动补全服务(C 语言必备)
bash运行
vim -c 'CocInstall -y coc-clangd coc-snippets' -c 'qall'
三、下载 Nginx 源码并打开(进入 IDE 模式)
bash运行
bash
# 下载源码
cd ~
wget http://nginx.org/download/nginx-1.29.6.tar.gz
tar -zxvf nginx-1.29.6.tar.gz
cd nginx-1.29.6
# 生成索引(函数跳转必须)
ctags -R
# 用 Vim IDE 打开源码
vim src/core/nginx.c
四、Nginx IDE 核心功能
| 按键 | 功能 |
|---|---|
| F2 | 打开 / 关闭文件树 |
| F3 | 打开 / 关闭函数 / 结构体大纲 |
| gd | 跳转到变量 / 函数定义 |
| ctrl + o | 返回上一步 |
| F5 | 执行 make 编译 |
| F8 | 查看编译错误 |
| jj | 快速退出编辑模式 |
| :h nginx | 查看 Nginx 配置语法帮助 |
跳转命令
| 按键 | 功能 |
|---|---|
| Ctrl + ] | 跳转到 函数 / 结构体 / 宏 / 类型 定义 |
| Ctrl + T | 返回上一层(退回) |
| g] | 列出所有同名定义(选择跳转) |
| :tag 函数名 | 直接跳转到指定函数 |
| :ptag 函数名 | 预览函数定义 |
支持跳转的所有结构(ctags 全覆盖)
- 函数
function - 结构体
struct - 联合体
union - 枚举
enum - 类型别名
typedef - 宏定义
#define - 全局变量
- 函数声明
五、vim IDE的能力
✅ Nginx 配置文件语法、高亮
✅ C 语言自动补全、参数提示
✅ 函数 / 结构体跳转(读源码神器)
✅ 一键编译 + 错误定位
✅ 文件树 + 函数大纲
✅ 括号自动配对
六、 其他方案:VSCode 开发 Nginx(更简单)
-
Windows 安装 VSCode
-
安装 Remote - WSL 扩展
-
WSL 进入 nginx 源码目录: bash运行
code . -
安装扩展:
- C/C++ (Microsoft)
- Nginx Config
- Makefile Tools
直接拥有图形化断点调试、点击跳转、智能提示。
总结
两套 Nginx 开发 IDE:
- Vim IDE:轻量、终端可用、快捷键高效
- VSCode + WSL:图形化、断点调试、新手友好