#Advanced VIM configuration
2017-11-3 by chubohao in Zhengzhou University
Email:[email protected]
上一节我们介绍了VIM的卸载和安装,接下来我们正式进入VIM的高级配置的第一步:插件管理器的安装。其实我们不安装这款插件我们照样能配置高级的VIM,但是我们的目的只有一个,那就是花大量的时间去做一个能节省我们时间的工具,那就是追求效率。如果不安装这款软件,我们会不停地进行插件的下载》解压》移植》安装》更新》卸载》等等,不仅浪费时间,更无法系统地管理插件,Vundle的出现很好的解决了这些问题。#Let us go to install it.
本系列教程适合新手参考,大佬们尽管指出不足。为了你的进一步学习,请参考不同来源的教程。
进入VIM官网
Vundle是Vim bundle的缩写,是一个Vim插件管理器。
Vundle允许你::
Vundle automatically::
Vundle正在进行界面更改,请保持最新的更改::
Notice::安装需要Git,并默认情况下为每个配置的存储库触发Git克隆到~/.vim/bundle/。Curl也是搜索的必要条件。Git上一节我们已经安装完成,一会我会介绍如何安装Curl
git clone https://github.com/curl/curl.git
cd curl
./buldconf
./configure
make
make install
/curl -V
curl 7.49.1-DEV (x86_64-unknown-linux-gnu) libcurl/7.49.1-DEV
Protocols: dict file ftp gopher http imap pop3 rtsp smtp telnet tftp
Features: IPv6 Largefile UnixSockets
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
首先介绍一下~/.vimrc :它是一个隐藏文件,刚开始是不存在的,需要你建一个($ touch ~/.vimrc),它的作用是来设置VIM以及VIM各个插件的文本,它非常像写网站时的CSS文件。以后我们设置各个插件的属性就在这个文件中栓设置,例如宽度,高度,快捷键等属性
现在需要你在家目录(就是cd ~)创建一个.vimrc文件,并且把下列代码复制到最顶部,以后配置代码要加在它的后面
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'
" The following are examples of different formats supported.
" Keep Plugin commands between vundle#begin/end.
" plugin on GitHub repo
Plugin 'tpope/vim-fugitive'
" plugin from http://vim-scripts.org/vim/scripts.html
" Plugin 'L9'
" Git plugin not hosted on GitHub
Plugin 'git://git.wincent.com/command-t.git'
" git repos on your local machine (i.e. when working on your own plugin)
Plugin 'file:///home/gmarik/path/to/plugin'
" The sparkup vim script is in a subdirectory of this repo called vim.
" Pass the path to set the runtimepath properly.
Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
" Install L9 and avoid a Naming conflict if you've already installed a
" different version somewhere else.
" Plugin 'ascenator/L9', {'name': 'newL9'}
" 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
接下来让我们使用这款强大的插件管理器把
$ vim
:PluginList
Notice::按下回车后,这时候出现一个分栏的列表,这时候他会显示你准备要配置的插件,这些插件已经在上上一条那段长代码中了如
Plugin 'ascenator/L9'
Plugin 'file:///home/gmarik/path/to/plugin'
这些都表示要安装插件的命令,这非常像我们在linux系统中安装软件一样:sudo apt-get install git。以后,我们要安装插件只需要将类似于这样的命令放到.vimrc文件中去就可以了
:PluginInstall
这时候会出现和:PluginList一样的页面,但是不同的是这个页面会动,在页面左侧,如果插件完成会以+或者.来标示,安装失败的会以!标示,我们输入安装命令后,不要动它直到左下方出现Done!才可以。这时候可以按下:q退出了。在上述长代码的末尾还有几条指令,你可以参考一下。
可能到这个时候,会有一部分人还在迷糊,不知道怎样安装插件,提醒一下,在上述那个长代码中已经插入要几个安装插件的命令,那几个插件是例子,具体作用还请你自己去详细查一下。接下来我们会继续安装插件,到时候你就会明白Vundle的具体用法了。
不知道你有没有用VIM编过程序,我们以C语言为例吧,平常如果我们用VIM编程的话,我们会创建一个文件,然后输入源代码,然后保存,然后gcc编译,然后执行./a.out。如果程序有错误还得重新来一遍,那你有没有想过一个功能和一个IDE一样的VIM呢?它不仅可以自动补全,自动填充,还可以实时监测你代码的正确和错误,只要正确的时候,他才会让你保存并退出,答案是肯定有的,下一节我们会解决YouCompleteMe插件的安装
Notice::YouCompleteMe是这些插件中逼格较高的一种,但同时也是最难的一种,如果你将这个插件完成了,那你的VIM高级配置工作量已经完成了80%,接下来你可以随意安装你想要的插件,你会感觉到so easy。
好了让我们进入下一遍吧 #Let us go on