Vim 配置强大的C++开发环境

警告
本文最后更新于 2021-06-24,文中内容可能已过时。

安装 Vim8

使用 Anaconda-python

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
## 不需要 lto
export LDFLAGS="-fno-lto"
## 有可能需要添加环境路径
## 1.
ldconfig -p |grep libSM
ldconfig -p |grep libuuid
## 2.
export PATH=
export LD_LIBRARY_PATH=

./configure --prefix=$HOME/opt \
--enable-python3interp=yes \
--enable-cscope \
--enable-gui=auto \
--enable-gtk2-check \
--enable-gnome-check \
--with-features=huge \
--enable-multibyte \
--enable-largefile \
--disable-netbeans \
--with-compiledby="xorpd" \
--enable-fail-if-missing \
--with-python3-command=$HOME/anaconda3/bin/python3 \
--with-python3-config-dir=$HOME/anaconda3/lib/python3.7/config-3.7m-x86_64-linux-gnu

make -j && make install

~/opt/bin/vim --version |grep python
/home/ops/opt/bin/vim: /home/ops/anaconda3/lib/libuuid.so.1: no version information available (required by /lib64/libSM.so.6)
+cmdline_hist      +langmap           -python            +visual
+cmdline_info      +libcall           +python3           +visualextra
Linking: gcc -fno-lto -L/usr/local/lib -Wl,--as-needed -o vim -lSM -lICE -lXt -lX11 -lSM -lICE -lm -ltinfo -lselinux -ldl -L/home/ops/anaconda3/lib/python3.7/config-3.7m-x86_64-linux-gnu -lpython3.7m -lcrypt -lpthread -ldl -lutil -lrt -lm

使用系统自带 python3

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
./configure --prefix=$HOME/opt \
	--with-features=huge \
    --enable-multibyte \
    --enable-rubyinterp=yes \
    --enable-python3interp=yes \
    --with-python3-config-dir=$(python3-config --configdir) \
    --enable-perlinterp=yes \
    --enable-luainterp=yes \
    --enable-gui=gtk2 \
    --enable-cscope\
    --enable-largefile \
	--disable-netbeans \
	--with-x \
	--with-compiledby="xorpd" \
	--enable-fail-if-missing

使用源代码编译 python

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
## 为了避免出现 _ctypes 错误
## 建议安装一下 yum install libffi-devel

## 需要安装动态库
## 在安装 Python 的时候,最好添加命令
## ./configure --enable-optimizations --enable-share

export LDFLAGS="-rdynamic"
export LDFLAGS="-fno-lto"

export PATH=
export LD_LIBRARY_PATH=

./configure --prefix=$HOME/opt \
--enable-python3interp=yes \
--enable-cscope \
--enable-gui=auto \
--enable-gtk2-check \
--enable-gnome-check \
--with-features=huge \
--enable-multibyte \
--enable-largefile \
--disable-netbeans \
--with-compiledby="xorpd" \
--enable-fail-if-missing \
--with-python3-command=$HOME/opt/bin/python3.9 \
--with-python3-config-dir=$HOME/opt/lib/python3.9/config-3.9-x86_64-linux-gnu

安装插件

随着 Vim 生态环境的改善,现在我们有了更多的插件管理器。从早期的 Vundle 到新晋网红 Vim-Plug,插件的管理功能逐渐得到改善,如支持并行安装、按需加载功能、异步调用等。

当前最为推荐的Vim插件,当属 Vim-Plug

安装 Vim-Plug

简单粗暴,直接下载到 ~/.vim 目录下即可

1
2
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
       https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'

如何使用 Vim-Plug 安装插件

Vundle 一样的方法,我们可以通过在~/.vimrc添加

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
" ================================
" 设置安装插件的路径
call plug#begin('~/.vim/plugged')

"" 安装指定插件,可以通过 github 找到 repo 的地址
"" 如:https://github.com/airblade/vim-gitgutter
"" 我们就直接使用url,让管理器自动安装
Plug 'airblade/vim-gitgutter'

call plug#end()
" ================================

这样,就把需要安装的插件地址配置好了,接下来需要 Vim 进行插件的安装

1
2
3
4
## 打开 Vim

## 然后进入命令模式
## 运行: PlugInstall 就会自动安装相关的插件了

特色功能

for:针对某个语言加载

on:按照需要加载

几个常用命令

配置 .vimrc

主题配色

onedark.vim

不要使用管理器来安装,这样安装后无法修改配色方案,需要手动安装。

onedark.vim 下载相应的配色方案

  • ~/.vim/colors/onedark.vim
  • ~/.vim/autoload/onedark.vim

接下来我们需要修改 ~/.vim/colors/onedark.vim

1
2
3
4
5
6
"" =============================================================================
call s:h("Pmenu", { "bg": s:menu_grey }) " Popup menu: normal item.
call s:h("PmenuSel", { "fg": s:dark_yellow, "bg": s:special_grey }) " Popup menu: selected item.
call s:h("PmenuSbar", { "bg": s:special_grey }) " Popup menu: scrollbar.
call s:h("PmenuThumb", { "bg": s:white }) " Popup menu: Thumb of the scrollbar.
"" =============================================================================

因为 onedark.vim 会覆盖其他的配色方案,如果我们需要单独进行配置,一定要写在这后面。比如,对行号的高亮

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
"" =========================================================
"" 所有的设置需要在 coloscheme 前面
"" =========================================================
"" https://github.com/joshdick/onedark.vim
let g:onedark_terminal_italics=1
let g:airline_theme='onedark'
""hi LineNr ctermfg=240

"" =========================================================
"" 所有设置都会被覆盖
"let g:onedark_termcolors=256
colorscheme onedark
"colorscheme space-vim-dark
"hi Normal     ctermbg=NONE guibg=NONE
"hi LineNr     ctermbg=NONE guibg=NONE
"hi SignColumn ctermbg=NONE guibg=NONE

" 高亮当前行 ================================================
"高亮当前行和行号
" -highlght 主要是用来配色的,包括语法高亮等个性化的配置。可以通过:h highlight,查看详细信息
" -CursorLine 和 CursorColumn 分别表示当前所在的行列
" -cterm 表示为原生vim设置样式,设置为NONE表示可以自定义设置。
" -ctermbg 设置终端vim的背景色
" -ctermfg 设置终端vim的前景色
" -guibg 和 guifg 分别是设置gvim的背景色和前景色,本人平时都是使用终端打开vim,所以只是设置终端下的样式
" 设置高亮行和列
"set cursorcolumn
set cursorline
"设置高亮效果
" Removes the underline causes by enabling cursorline:
highlight clear CursorLine
"highlight CursorLine   cterm=NONE ctermbg=black ctermfg=green guibg=NONE guifg=NONE
"highlight CursorColumn cterm=NONE ctermbg=black ctermfg=green guibg=NONE guifg=NONE
highlight CursorLine   cterm=NONE ctermbg=black ctermfg=none guibg=NONE guifg=NONE
highlight CursorColumn cterm=NONE ctermbg=black ctermfg=none guibg=NONE guifg=NONE

highlight LineNr term=bold cterm=bold ctermfg=DarkGrey ctermbg=NONE gui=None guifg=DarkGrey guibg=NONE
highlight CursorLineNR term=bold ctermfg=DarkGreen ctermbg=black cterm=bold
"highlight CursorLineNR term=bold ctermfg=DarkGreen ctermbg=DarkGrey cterm=bold
set linebreak              " wrap long lines between words
"" =========================================================

常用工具

快捷键

设置技巧

相关内容

william 支付宝支付宝
william 微信微信
0%