作为Linux下高效的C语言开发环境,Vim经过适当配置可以媲美现代IDE。以下是我的推荐配置方案:
推荐使用vim-plug:
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
" 基本设置
set nocompatible
filetype plugin indent on
syntax enable
set number
set tabstop=4
set shiftwidth=4
set expandtab
set smartindent
set cursorline
set hlsearch
set incsearch
set showmatch
set encoding=utf-8
set backspace=indent,eol,start
" 插件管理
call plug#begin('~/.vim/plugged')
" 在这里添加插件...
call plug#end()
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'dense-analysis/ale'
Plug 'preservim/nerdtree'
Plug 'majutsushi/tagbar'
Plug 'preservim/nerdcommenter'
Plug 'jiangmiao/auto-pairs'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'vim-scripts/c.vim', {'for': ['c', 'cpp']}
安装coc-clangd:
:CocInstall coc-clangd
let g:ale_linters = {
\ 'c': ['clang', 'clangtidy', 'cppcheck'],
\ 'cpp': ['clang', 'clangtidy', 'cppcheck'],
\}
let g:ale_fixers = {
\ 'c': ['clang-format'],
\ 'cpp': ['clang-format'],
\}
" 快速打开/关闭NERDTree
map <C-n> :NERDTreeToggle<CR>
" 标签页导航
map <C-l> :tabn<CR>
map <C-h> :tabp<CR>
" 构建运行
autocmd FileType c nnoremap <buffer> <F5> :w<CR>:!gcc % -o %< && ./%<<CR>
autocmd FileType c nnoremap <buffer> <F9> :w<CR>:make<CR>
" 跳转到定义
nmap <silent> gd <Plug>(coc-definition)
nmap <silent> gy <Plug>(coc-type-definition)
nmap <silent> gi <Plug>(coc-implementation)
nmap <silent> gr <Plug>(coc-references)
" 代码格式化
command! -nargs=0 Format :call CocAction('format')
Plug 'ludovicchabant/vim-gutentags'
Plug 'puremourning/vimspector'
let g:vimspector_enable_mappings = 'HUMAN'
:PlugInstall
安装所有插件sh
sudo apt install clang clang-tidy cppcheck global bear
Plug 'joshdick/onedark.vim'
colorscheme onedark
这套配置提供了代码补全、语法检查、调试支持、项目管理等现代IDE功能,同时保持了Vim的高效性。根据个人偏好可以进一步调整插件和快捷键设置。