• [vundle]利用vundle工具来管理vim插件


    转自:http://os.51cto.com/art/201507/484174.htm

    Vim是Linux上一款用途广泛的轻量级文本编辑工具。虽然对普通的Linux用户来说开始学用起来难度相当大,但鉴于它具有的种种好处,完全值得一学。至于功能方面,Vim可以通过插件实现全面定制。不过由于其高级配置,你可能需要在其插件系统上花一番时间,才能够高效地对Vim进行个性化定制。幸好,我们有几个工具可以简化我们使用Vim插件。Vundle就是本人每天使用的一款工具。

    1. Vundle简介

    Vundle(https://github.com/VundleVim/Vundle.vim)的全称是Vim Bundle,它是一款Vim插件管理工具。Vundle让你可以非常轻松地安装、更新、搜索和清理Vim插件。它还能管理你的运行时环境,并帮助标记。我在本教程中将介绍如何安装和使用Vundle。

    2. 安装Vundle

    首先,如果你的Linux系统上还没有Git,安装它(http://ask.xmodulo.com/install-git-linux.html)。

    下一步,创建一个目录,Vim插件下载后将安装到该目录下。默认情况下,该目录位于~/.vim/bundle。

    $ mkdir -p ~/.vim/bundle 

    现在安装Vundle,如下所示。请注意:Vundle本身是另一种Vim插件。因而,我们将Vundle安装在之前创建的~/.vim/bundle下。

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

    3. 配置Vundle

    现在设置你的.vimrc文件,如下所示:

    set nocompatible              " 这是必需的 
    filetype off                  " 这是必需的 
      
    " 你在此设置运行时路径 
    set rtp+=~/.vim/bundle/Vundle.vim  
     
    " vundle初始化 
    call vundle#begin()  
     
    " 这应该始终是第一个 
    Plugin 'gmarik/Vundle.vim' 
     
    " 该例子来自https://github.com/gmarik/Vundle.vim README 
    Plugin 'tpope/vim-fugitive'  
     
    " 来自http://vim-scripts.org/vim/scripts.html的插件 
    Plugin 'L9'  
     
    "未托管在GitHub上的Git插件 
    Plugin 'git://git.wincent.com/command-t.git'  
     
    "本地机器上的git软件库(即编写自己的插件时) 
    Plugin 'file:///home/gmarik/path/to/plugin'  
     
    " sparkup vim脚本在名为vim的该软件库子目录下。 
    " 传递路径,合理设置运行时路径。 
    Plugin 'rstacruz/sparkup', {'rtp': 'vim/'} 
     
    " 与L9避免名称冲突 
    Plugin 'user/L9', {'name': 'newL9'}  
     
    "每个插件都应该在这一行之前  
     
    call vundle#end()            " required 

    不妨稍微解释一下上述配置。默认情况下,Vundle从github.com或vim-scripts.org下载并安装Vim插件。你可以修改默认行为。

    3.1.插件安装方式

    • 从Github进行安装:
    Plugin 'user/plugin' 
    Plugin 'plugin_name' 
    • 从另一个git软件库进行安装:
    Plugin 'git://git.another_repo.com/plugin' 
    • 从本地文件进行安装:
    Plugin 'file:///home/user/path/to/plugin' 

    3.2.定制参数

    你还可以定制其他参数,比如插件的运行时路径,如果你在自行编写插件,或者就想从不是~/.vim的另一个目录来装入它,这非常有用。

    Plugin 'rstacruz/sparkup', {'rtp': 'another_vim_path/'} 

    如果你有同样名称的插件,可以更名插件,那样它就不会冲突。

    Plugin 'user/plugin', {'name': 'newPlugin'} 

    4.Vundle命令用法

    一旦你用Vundle设置好了插件,就可以使用几个Vundle命令,用Vundle来安装、更新、搜索和清理闲置未用的插件。

    4.1.安装一个新的插件

    PluginInstall命令会安装在你的.vimrc文件中列出来的所有插件。你还可以只安装某一个特定的插件,只要传递其名称。

    :PluginInstall 
    :PluginInstall <plugin-name> 

    4.2.清理闲置未用的插件

    如果你有任何闲置未用的插件,只要使用PluginClean命令,就可以清理它。

    :PluginClean 

    4.3.搜索插件

    如果你想从所提供的插件列表安装一个插件,搜索功能就很有用。

    :PluginSearch <text-list> 

    在搜索过程中,你可以在交互式分屏上安装、清理、研究或重新装入同一列表。安装插件不会自动装入你的插件。想自动装入插件,将插件添加到你的.vimrc文件。

    这个功能也经常用,比如:PluginSearch taglist,完成搜索后,可以按下'i'进行安装

    5.结束语

    Vim是一款非常出色的工具。它不仅是一款出色的默认文本编辑工具,可以让你的工作流程更快速更流畅,还可以转换成IDE(集成开发环境),支持几乎任何一种现有的编程语言。Vundle对于快速轻松地对功能强大的Vim环境实现个性化大有帮助。

    问题

    1. 中间出现过问题call vundle#begin()和call vundle#end()配对时,始终.vimrc不起作用,后来换成call vundle#rc()和filetpe plugin indent on二者,把插件添加到中间即可。

    2. 很多插件都需要设置.vimrc,如快捷键和路径等等,如下是简单地的一个.vimrc

    "vim configuration
    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
    set shiftwidth=4 "统一缩进为4
    set expandtab "不要用空格替代制表符
    set number "显示行号
    set history=50  "历史纪录数
    set hlsearch
    set incsearch "搜素高亮,搜索逐渐高亮
    set gdefault "行内替换
    set encoding=utf-8
    set fileencodings=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936,utf-16,big5,euc-jp,latin1 "编码设置
    colorscheme molokai
    set guifont=Menlo:h16:cANSI "设置字体
    set langmenu=zn_CN.UTF-8
    set helplang=cn  "语言设置
    set ruler "在编辑过程中,在右下角显示光标位置的状态行
    set laststatus=1  "总是显示状态行
    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 cursorline "突出显示当前行
    set magic  "设置魔术?神马东东
    set ignorecase "搜索忽略大小写
    filetype on "打开文件类型检测功能
    set background=dark
    set t_Co=256   "256色
    set mouse=a  "允许鼠标
    set nocompatible              " 这是必需的 
    filetype off                  " 这是必需的 
    
    
    " NERDTree------------------------------------------------------
    let NERDTreeQuitOnOpen=1    " Nerdtree is quit, when file is opened
    let NERDTreeShowBookmarks=1 " Display bootmark
    " let NERDTreeChDirMode=2     " Root is default directory
    
    " let mapleader = ","
    map <F4> :NERDTreeToggle<CR>
    map <C-F4> :NERDTreeFind<CR>
    
    " Taglist------------------------------------------------------
    let Tlist_Ctags_Cmd='ctags'
    let Tlist_Show_One_File=1
    let Tlist_WinWidth=28
    let Tlist_Exit_OnlyWindow=1
    let Tlist_Use_Left_Window=1
    
    " Cscope------------------------------------------------------
    if has("cscope")
        set csprg=/usr/bin/cscope
        set csto=0
        set cst
        set nocsverb
        " add any database
        if filereadable("cscope.out")
            cs add cscope.out
            " else add pointed
        elseif $CSCOPE_DB!=""
            cs add $CSCOPE_DB
        endif
        set csverb
    endif
    " shortcuts
    nmap <C-@>s :cs find s <C-R>=expand("<cword>")<CR><CR>
    nmap <C-@>g :cs find g <C-R>=expand("<cword>")<CR><CR>
    nmap <C-@>c :cs find c <C-R>=expand("<cword>")<CR><CR>
    nmap <C-@>t :cs find t <C-R>=expand("<cword>")<CR><CR>
    nmap <C-@>e :cs find e <C-R>=expand("<cword>")<CR><CR>
    nmap <C-@>f :cs find f <C-R>=expand("<cword>")<CR><CR>
    nmap <C-@>i :cs find i <C-R>=expand("<cword>")<CR><CR>
    nmap <C-@>d :cs find d <C-R>=expand("<cword>")<CR><CR>
    " Vundle--------------------------------------------------------  
    set rtp+=~/.vim/bundle/Vundle.vim  
     
    call vundle#rc()
    
    Plugin 'gmarik/Vundle.vim' 
    
    Plugin 'tpope/vim-surround'
    Plugin 'bling/vim-airline'
    Plugin 'scrooloose/nerdtree'
    Plugin 'taglist.vim'
    Plugin 'cscope.vim'
    filetype plugin indent on           " required 
    View Code
  • 相关阅读:
    CSS总结(六)——元素的垂直居中(已知高度/未知高度)
    CSS总结(五)——定位 position
    CSS总结(四)—— CSS选择器优先级
    CSS总结(三)—— 盒子模型(标准/IE下)
    CSS总结(二)—— 浮动 与 清除浮动
    CSS总结(一)—— display三种元素(区别、重点、扩展)
    JavaScript学习笔记(九)—— JS 理解闭包
    严格模式use strict
    let、const和var的区别
    字符串方法
  • 原文地址:https://www.cnblogs.com/aaronLinux/p/6798898.html
Copyright © 2020-2023  润新知