自己编译vim8.0并安装插件

现代的文盲,不是看不懂字句,而是不愿意学习,不愿意阅读的人。若你想保持与世界接轨的能力与旺盛的学习动机,阅读是最好的途径。——《爱读书的孩子,不会变坏 (宋怡慧 著)》

简介

  Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。VIM是自由软件。
  Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。但在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至二线, 总的来看, Vim和Emacs在文本编辑方面都是非常优秀的。

安装依赖

  假如你的系统的Ubuntu或者deepin~可以使用如下

sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev \
    libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \
    libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev \
    python3-dev ruby-dev lua5.1 lua5.1-dev git

  假如你的系统是Debian系列

sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev \
    libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \
    libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev \
    python3-dev ruby-dev lua5.1 lua5.1-dev libperl-dev git

  假如你的系统是Fedora 20

sudo yum install -y ruby ruby-devel lua lua-devel luajit \
    luajit-devel ctags git python python-devel \
    python3 python3-devel tcl-devel \
    perl perl-devel perl-ExtUtils-ParseXS \
    perl-ExtUtils-XSpp perl-ExtUtils-CBuilder \
    perl-ExtUtils-Embed

  之后

# symlink xsubpp (perl) from /usr/bin to the perl dir
sudo ln -s /usr/bin/xsubpp /usr/share/perl5/ExtUtils/xsubpp 

移除你已经安装的vim

sudo apt-get remove vim vim-runtime gvim

或者是下面的

dpkg -l | grep vim
sudo dpkg -P vim vim-common vim-run

  要是你的系统是Ubuntu 12.04.2的话,还要加上

sudo apt-get remove vim-tiny vim-common vim-gui-common vim-nox

下载vim源码并编译安装

cd ~
git clone https://github.com/vim/vim.git
cd vim
./configure --with-features=huge \
            --enable-multibyte \
            --enable-rubyinterp=yes \
            --enable-pythoninterp=yes \
            --with-python-config-dir=/usr/lib/python2.7/config \
            --enable-python3interp=yes \
            --with-python3-config-dir=/usr/lib/python3.5/config \
            --enable-perlinterp=yes \
            --enable-luainterp=yes \
            --enable-gui=gtk2 --enable-cscope --prefix=/usr
make VIMRUNTIMEDIR=/usr/share/vim/vim80

  如果你想要之后可以简单的安装和卸载vim的话,可以使用checkinstall工具打包安装:

sudo apt-get install checkinstall
cd vim
sudo checkinstall

  如果不要的话,就执行下面的指令

cd ~/vim
sudo make install

  设置vim作为你的默认编辑器:

sudo update-alternatives --install /usr/bin/editor editor /usr/bin/vim 1
sudo update-alternatives --set editor /usr/bin/vim
sudo update-alternatives --install /usr/bin/vi vi /usr/bin/vim 1
sudo update-alternatives --set vi /usr/bin/vim

编译中可能出现的问题

  假如出现了no terminal library found

checking –with-tlib argument… empty: automatic terminal library selection
checking for tgetent in -lncurses… no
checking for tgetent in -ltermlib… no
checking for tgetent in -ltermcap… no
checking for tgetent in -lcurses… no
no terminal library found
checking for tgetent()… configure: error: NOT FOUND!
      You need to install a terminal library; for example ncurses.
      Or specify the name of the library withwith-tlib.

  这个时候,只需要

sudo apt-get install libncurses5-dev

附录:

配置vim

注意:vim安装完后有提供对应的文档教程,具体使用方法是:

vimtutor

后就可以打开文档教程进行学习对应的vim指令。

VIM配置

  当提到VIM配置的时候,就不得不说我们vim强大的自定义性,以及庞大的插件库。当我们使用了较多的插件的时候,我们就会发现插件真的很难管理(安装和卸载都很麻烦)。所以就不得不说VIM的插件管理器Vundle了。

Vundle安装和配置插件

  好了,直接上安装和使用教程:
  1、克隆我们需要的Vundle到你的用户目录下

git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim

  2、配置属于你的专属的.vimrc 文件。
  
  在用户目录下,cd ~,回到用户目录下,vim .vimrc,就可以编辑VIM的配置了。
  注:.vimrc是vim的配置文件。

  在.vimrc的前半部分找到下面的内容,将你所需要安装的插件放在begin和end之间。

call vundle#begin()
" 这里是插件放置位置
call vundle#end()         

  这个是完整的配置。

set nocompatible "be iMproved, required
filetype off " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')

" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
Plugin 'scrooloose/syntastic' " 语法检测工具 
Plugin 'scrooloose/nerdcommenter' "注释代码工具 \cc注释当前行 \cu 撤销注释当前行 \cs sexily注释 \cA 行尾注释,切换成输入模式 
Plugin 'scrooloose/nerdtree' "树状结构文件夹目录
Plugin 'majutsushi/tagbar' 
Plugin 'jiangmiao/auto-pairs' " 括号自动匹配

" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required
" To ignore plugin indent changes, instead use:
" filetype plugin on
"
" Brief help
" :PluginList       - lists configured plugins
" :PluginInstall    - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean      - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line

"powerline部分"
set rtp+=~/.local/lib/python2.7/site-packages/powerline/bindings/vim/
set guifont=Sauce\ Code\ Powerline:h14.5
set laststatus=2
set encoding=utf-8
set t_Co=256
set number
set fillchars+=stl:\ ,stlnc:\
set term=xterm-256color
set termencoding=utf-8
set background=dark

set modelines=0

set backspace=2 "设置更好的删除"

syntax on "自动语法高亮"

"用浅色高亮当前行"
autocmd InsertLeave * se nocul
autocmd InsertEnter * se cul

set smartindent "智能对齐"

set autoindent "自动对齐"

set confirm "在处理未保存或只读文件的时候,弹出确认框"

set tabstop=4 "tab键的宽度"
set softtabstop=4 "使得按退格键可以一次删掉4个空格"
set shiftwidth=4 "统一缩进为4"
set expandtab "不要用空格替代制表符"

set autochdir "自动切换当前目录位当前文件所在目录"

set number "显示行号"
set history=50  "历史纪录数"
set hlsearch "搜索时高亮被查找到的文本"
set incsearch "搜素高亮,搜索逐渐高亮"

set hidden " 允许在有未保存的修改时切换缓冲区,此时的修改由 vim 负责保存

set gdefault "行内替换“
set encoding=utf-8
set fileencodings=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936,utf-16,big5,euc-jp,latin1 "编码设置”

set guifont=Menlo:h16:cANSI "设置字体“
set langmenu=zn_CN.UTF-8
set helplang=cn  "语言设置”

set ruler "在编辑过程中,在右下角显示光标位置的状态行“

set laststatus=2 " 显示状态栏 (默认值为 1, 无法显示状态栏)
set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\
" 设置在状态行显示的信息

set showcmd "在状态行显示目前所执行的命令,未完成的指令片段也会显示出来"


set scrolloff=3 "光标移动到buffer的顶部和底部时保持3行的距离"
set showmatch "高亮显示对应的括号"
set matchtime=5 "对应括号高亮时间(单位是十分之一秒)"

set autowrite "在切换buffer时自动保存当前文件"

set wildmenu  "增强模式中的命令行自动完成操作"

set linespace=2 "字符间插入的像素行数目"
set whichwrap=b,s,<,>,[,] "开启normal 或visual模式下的backspace键空格键,左右方向键,insert或replace模式下的左方向键,右方向键的跳行功能"

filetype plugin indent on "分为三部分命令:file on,file plugin on,file indent on 分别是自动识别文件类型, 用用文件类型脚本,使用缩进定义文件"

set foldenable  "允许折叠"
set foldmethod=syntax " 设置语法折叠
set foldcolumn=0 " 设置折叠区域的宽度
setlocal foldlevel=1 " 设置折叠层数为
" set foldclose=all " 设置为自动关闭折叠
" " nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>
" " 用空格键来开关折叠

set cursorline "突出显示当前行"
set magic  "设置魔术?神马东东"
set ignorecase "搜索忽略大小写"
filetype on "打开文件类型检测功能"
set background=dark
set t_Co=256   "256"
set mouse=a  "允许鼠标"

" 配置nerdtree
let NERDTreeQuitOnOpen=1 "打开文件时关闭树
let NERDTreeShowBookmarks=1 "显示书签

" 配置nerdtree的快捷键
let mapleader = ","
map <leader>ne :NERDTreeToggle<CR>
map <leader>tl :TlistToggle<cr>
nnoremap <leader>ma :set mouse=a<cr>
nnoremap <leader>mu :set mouse=<cr>

" tagbar插件
nmap <leader>tb :TagbarToggle<CR>

  3、到了这里,我们需要执行安装插件的命令了。首先在Terminal中输入vim,进入之后打:VundleInstall,安装插件,之后就是等了……
  下面是Vim插件安装成功的图示了。^_^,退出可以使用:q退出。
vim安装成功图示

Vundle使用教程

  • 安装(更新)插件
    • :BundleInstall
  • 卸载插件
    • :BundleClean
  • 显示所有插件
    • :BundleList
  • 查找插件
    • :BundleSearch 插件名称
  • 刷新插件(下面插件名称的)缓存
    • :BundleSearch! 插件名称
  • 清除插件缓存
    • BundleClean!

安装成功图示


安装成功图示


附录

安装YouCompleteMe

简介

  这是一个代码补全工具。


这里写图片描述


  在.vimrc中添加

Plugin 'Valloric/YouCompleteMe'

  在命令行中

vim
进入vim
:PluginInstall

  加载好了之后,

cd ~/.vim/bundle/YouCompleteMe
./install.py --clang-completer

安装uncrustify

cd ~
git clone https://github.com/uncrustify/uncrustify ~/uncrustify
sudo ./configure
sudo ./install-sh

附录

安装vim-autoformat

  vim中的格式化代码插件。
  在.vimrc中添加

Plugin 'Chiel92/vim-autoformat'

附录

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值