VIM配置成为强大的IDE

声明

参考一些文章。
主要参考本篇所需即所获:像 IDE 一样使用 vim
文章最后更新时间为两年前,稍作修改,有时间会在github上PR
注意: 系统为Ubuntu18.04

安装VIM

编译安装

配置vim支持python3,(原文中是python2)

git clone git@github.com:vim/vim.git
cd vim/
./configure --with-features=huge --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-perlinterp --with-python-config-dir=/usr/lib/python3.6/config-3.6m-x86_64-linux-gnu --enable-gui=gtk2 --enable-cscope --prefix=/usr
make
make install

安装插件

严重问题

当使用vim时遇到Taglist: Exuberant ctags (http://ctags.sf.net) not found in PATH. Plugin is not loaded.
安装YouCompleteMe后出现如下问题,没有安装clang,请参照如下
The ycmd server SHUT DOWN (restart with ‘:YcmRestartServer’)
安装YouCompleteMe后出现如下问题,没有找到python3路径
错误信息:* The ycmd server SHUT DOWN (restart with…option to a Python 3 interpreter path.*
解决方案:在.vimrc中添加:

let g:ycm_server_python_interpreter = '/usr/bin/python3'

参考文章:ycm_core loading issues on Ubuntu 16.04 #2136

vim-airline

安装

原文中的状态栏项目已经失效“Lokaltog/vim-powerline”
推荐Vim-airline插件安装配置
不推荐powerline的原因: airline类似powerline。而airline基于 vim script ,powerline基于Python
上面附的文章,在18.04中似乎没有字体问题

主题管理

问题:没有箭头

github上带有图形带有箭头,解决方案
如何在 Ubuntu 下正确显示 vim-airline 的箭头符号?

问题:状态栏最右侧有奇怪的trailing

问题原因:I don’t understand what the “trailing” on the right side is for?
解决:在.vimrc中添加

" 关闭空白符检测
let g:airline#extensions#whitespace#enabled=0

参考文章vim中的airline插件不显示箭头(解决)

额外的tabline

在文中使用了额外的插件,感觉没有那么好用,采用一个可以显示buffer的工具。
在vim-airline当中带有一个tabline的功能,要想知道tabline的作用首先要知道vim多文件的原理
vim——打开多个文件、同时显示多个文件、在文件之间切换
通过这个文章,我们知道了buffer的原理,及buffer可以类比于浏览器的标签页,我们就知道这个tabline只是把这个可视化了,
配置如下:

" airline设置
set laststatus=2
" 使用powerline打过补丁的字体
let g:airline_powerline_fonts = 1
" 开启tabline
let g:airline#extensions#tabline#enabled = 1
" tabline中当前buffer两端的分隔字符
let g:airline#extensions#tabline#left_sep = ' '
" tabline中未激活buffer两端的分隔字符
let g:airline#extensions#tabline#left_alt_sep = '|'
" tabline中buffer显示编号
let g:airline#extensions#tabline#buffer_nr_show = 1
" 映射切换buffer的键位
nnoremap b[ :bp<CR>
nnoremap b] :bn<CR>

因为tab line只是一个显示buffer的扩展,并不提供操作buffer的功能,所以想要操作buffer还是要通过Vim自带的命令实现,从上面的配置语句中可以看到,我将切换到前一个buffer的命令 :bp 映射成了 b[ ,将切换至后一个buffer的命令 :bn 映射成了 b] (这实际上是airline作者的映射为[b,]b)
参考文章

配色问题

推荐一个vim配色网站,可以可视化修改并到处配置文件
推荐一个类似sublime配色,并且讲解如何配置改变vim配色:安装colorscheme

代码折叠

按照文中的配置代码折叠后,我希望使用空格进行代码折叠,在.vimrc中加入如下代码(参考文章)

" Enable folding with the spacebar
nnoremap <space> za

字体配置

首先,vim的字体跟随终端的字体,只有gvim的字体可以单独配置!
推荐字体:Adobe的开源字体 source code pro ,为了使用powerline 我找到一个 for powerline 版本

字体安装方法(Ubuntu)

For system wide installation, copy the fonts to/usr/share/fontsand run sudo fc-cache to rebuild the font cache, or for user local installation, make sure~/.fonts exists, copy them into there, then rebuild the font cache.

如果是为所有Ubuntu用户添加字体,就把上面github 上面 clone下来的 .otf文件全部复制到/usr/share/fonts 当中,然后运行sudo fc-cache,若果你只想为自己的用户添加,则把 .otf文件复制到~/.fonts 中并执行sudo fc-cache

将字体配置到终端

在终端 菜单栏找到 Edit->Preference 在profile选项卡中 Text标签 勾选 custom font 选择source code pro for powerline
参考文章:Ubuntu 18.04 LTS 安装、美化

将字体配置到gvim

gvim 的字体可单独设置成自己喜好的,只需在.vimrc中添加

set guifont=Source\ Code\ Pro\ for\ Powerline\ Regular " 设置gvim字体

或者在gvim的界面中选择 Edit->Select font…进行设置

其他问题

可能遇到的问题在此备份一下

退格键无法换行

解决Vim插入模式下backspace按键无法删除字符的问题

持续更新中……

posted @ 2018-07-17 15:20  ArtisticZhao  阅读(333)  评论(0编辑  收藏  举报