一、环境说明
1、硬件
处理器:Intel(R) Core(TM) i5-10400 CPU @ 2.90GHz 2.90 GHz
机带:RAM 16.0 GB (15.8 GB 可用)
系统类型:64 位操作系统, 基于 x64 的处理器
2、操作系统
版本:Windows 11 专业版
版本:21H2
操作系统版本:22000.493
3、软件
终端版本:Windows Terminal (1.11.3471.0)
wsl版本:wsl2
子系统版本:Ubuntu 20.04 focal(on the Windows Subsystem for Linux)
子系统内核:x86_64 Linux 5.10.60.1-microsoft-standard-WSL2
子系统shell:zsh 5.8
vim版本:VIM – Vi IMproved 8.1
二、前期基本配置
1、vim安装
执行如下命令安装vim(以ubuntu为例,其他发行版类似):
sudo apt install vim
2、建立配置文件路径
检查如果当前用户目录下是否存在.vim文件夹,如果不存在则执行如下命令创建文件夹
mkdir ~/.vim #vim配置文件夹
mkdir ~/.vim/autoload #vim自动加载的插件文件夹
3、安装插件管理器
插件管理器是用于管理vim插件的插件,其可以方便的安装、升级、卸载vim插件。常见的插件管理器有vimpack、vundle、vim-plug、dein.nvim等。下文使用vim-plug插件为例。
使用如下命令安装vim-plug(如果如法连接也可以使用gitee中的plug.vim的fork项目并替换)。
curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
执行 创建plugged文件夹。该文件夹是vim-plug插件管理器用于存放插件的文件夹。mkdir ~/.vim/plugged
安装完成后,在,vim目录下新建vim的配置文件.vimrc,并写入如下内容。
call plug#begin('~/.vim/plugged')
插件列表
call plug#end()
如果需要安装插件,需要在call plug#begin(\’~/.vim/plugged\’)和call plug#end()中间添加Plug \’插件名称\’,并执行:PlugInstall命令进行安装。
由于vim-plug仅支持管理托管在github上的插件,所以插件名称为插件项目在github上的 作者/仓库名。例如需要安装插件vim-airline/vim-airline: lean & mean status/tabline for vim that\’s light as air (github.com),需要在.vimrc中添加Plug 'vim-airline/vim-airline'并执行:PlugInstall命令安装,或者直接使用:PlugInstall vim-airline命令安装。如果可以检索到该插件,则会跳转到如下图的界面,按q即可返回。

:PlugClean
vim-plug所有命令及其作用如下
| 命令 | 描述 |
|---|---|
PlugInstall [name ...] [#threads] |
安装插件 |
PlugUpdate [name ...] [#threads] |
安装或升级插件 |
PlugClean[!] |
卸载未列出的插件 |
PlugUpgrade |
升级vim-plug自己 |
PlugStatus |
查看当前所有插件状态 |
PlugDiff |
检查来自上一次更新的更改和挂起的更改 |
PlugSnapshot[!] [output path] |
生成用于恢复插件当前快照的脚本 |
三、插件安装与配置
全局或插件的配置直接添加在.vimrc文件的后方即可
1、全局配置
显示行号
set number
开启语法高亮
syntax enable
开启语法高亮
syntax on
检测文件类型
filetype on
针对不同的文件,采用不同的缩进方式
filetype indent on
允许插件
filetype plugin on
启动自动补全
filetype plugin indent on
文件修改之后自动读入
set autoread
鼠标支持
set mouse=a
更多配置见vim官方文档
2、代码一键执行
可以使用F5一键执行代码,仅绑定了快捷键和指令,并非插件,直接添加在.vimrc中即可,不同语言需要安装对应的依赖
F5一键执行代码
map <F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
exec w
if &filetype == 'c'
exec !gcc % -o %<
exec !time ./%<
elseif &filetype == 'cpp'
exec !g++ % -o %<
exec !time ./%<
elseif &filetype == 'java'
exec !javac %
exec !time java %<
elseif &filetype == 'sh'
:!time bash %
elseif &filetype == 'python'
exec !time python3 %
elseif &filetype == 'go'
exec !go build %<
exec !time go run %
endif
endfunc
3、tagbar
插件安装:
1、执行sudo apt install ctags安装依赖ctags
2、Plug \’majutsushi/tagbar\’
插件作用:显示创建一个侧边栏并显示当前打开文档的大纲、代码结构等,并具有导航功能。
插件截图:


let g:tagbar_ctags_bin = 'ctags' tagbar 依赖 ctags 插件
let g:tagbar_width = 30 设置 tagbar 的宽度为 30 列,默认 40 列
let g:tagbar_autofocus = 1 打开 tagbar 时光标在 tagbar 页面内,默认在 vim 打开的文件内
let g:tagbar_left = 1 让 tagbar 在页面左侧显示,默认右边
let g:tagbar_sort = 0 标签不排序,默认排序
设定快捷键 t 打开 tagbar 窗口
map t :TagbarToggle<CR>
4、vim-airline和vim-airline-themes
插件安装:
1、Plug \’vim-airline/vim-airline\’
Plug \’vim-airline/vim-airline-themes\’
2、设定使用powerline字体可以显示更多符号,但是需要安装powerline/fonts: Patched fonts for Powerline users字体。如果是wsl则直接安装在windows中后修改Terminal中wsl对应的字体,如图

插件截图:


<pre class="EnlighterJSRAW" data-enlighter-group="" data-enlighter-highlight="" data-enlighter-language="generic" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-theme="" data-enlighter-title="">let g:airline_theme =luna 使用luna主题配色
set t_Co = 256 终端开启256色支持
let g:airline#extensions#tabline#enabled = 1 顶部tab显示
let g:airline_powerline_fonts = 1 使用powerline字体
map <tab> :bn<CR> tab键切换文件标签
5、nerdtree
插件安装:Plug \’scrooloose/nerdtree\’
插件描述:显示当前文件所在路径的目录树,并可以打开相应文件
插件截图:

按F3显示或关闭目录树
map <F3> :NERDTreeMirror<CR>
map <F3> :NERDTreeToggle<CR>
let NERDTreeShowHidden=1 显示隐藏文件(shift+i可切换是否显示隐藏文件)
6、auto-pairs
插件安装:Plug \’jiangmiao/auto-pairs\’
插件描述:自动匹配括号、引号等
插件截图:


7、YouCompleteMe
该插件为代码提示补全插件,安装过程较为复杂
插件安装:
1、执行下面代码下载插件依赖
sudo apt install build-essential cmake python3-dev
2、安装java代码提示和clang代码提示需要的jdk和clang。(如果需要go的代码提示还需要安装golang)
sudo apt install clang jdk11
3、Plugin \’ycm-core/YouCompleteMe\’
安装过程可能存在网络问题,可能需要走vpn
4、插件安装完成后,进入~/.vim/plugged/YouCompleteMe目录内
5、执行python3 install.py --java-completer安装java代码提示模块
6、执行./install.sh --clang-completer --system-libclang 安装clang代码提示模块




