作者使用Vim已经有一段时间了,深深觉得它是一个非常强大的编辑器,使用习惯之后效率很高。最大的缺点是学习曲线比较陡峭。因此作者希望分享一些自己在实际使用中的经验来帮助初学者,同时也帮助作者自己学习。

在这个系列的文章中,作者所使用的Vim是windows系统下的gVim 7.4. 同时,作者在这里不打算涉及Vim的入门知识,包括几种模式等。作者假定阅读本系列文章的读者都具有这些入门知识。

好,闲话少叙。接下来进入正题。

=======================================================

本篇的主题是,在Vim中使用插件。

插件系统是Vim的一个很强大的地方。无数开发者为Vim提供了丰富的插件集,可以实现非常多的功能。但是,默认的插件管理方式不太好用,需要下载插件然后手动拷贝,需要删除的时候就很麻烦。所以,有人就开发了Vim插件来管理Vim插件。本期介绍Vundle用来管理Vim插件。

首先,为什么要用Vundle这个插件来管理Vim插件?因为它使得插件的安装、更新删除都变得很容易。

接下来是Vundle的安装方法。https://github.com/gmarik/Vundle.vim有详细的安装过程,这里做个简单的翻译,同时结合作者本身经验有简单修改,方便读者。

1. Vundle依赖于git. 到http://git-scm.com/去下载git. 然后安装。需要注意的是,在安装过程中,有一步让用户选择路径环境,共有三个选项,这里要选第二项,也就是Run Git from Windows Command Prompt. 如下图所示

2. 创建一个名为curl.cmd的文件,其内容如下,并且将这个文件放到C:\Program Files\Git\cmd\curl.cmd 。这里假定git安装到c:\Program Files\Git

@rem Do not use "echo off" to not affect any child calls.
@setlocal @rem Get the abolute path to the parent directory, which is assumed to be the
@rem Git installation root.
@for /F "delims=" %%I in ("%~dp0..") do @set git_install_root=%%~fI
@set PATH=%git_install_root%\bin;%git_install_root%\mingw\bin;%PATH% @if not exist "%HOME%" @set HOME=%HOMEDRIVE%%HOMEPATH%
@if not exist "%HOME%" @set HOME=%USERPROFILE% @curl.exe %*

3. 打开命令行,分别运行git --version和curl --version,如果能够正常显示版本信息,则可以进行下一步。

4. 打开命令行,输入如下命令

cd %USERPROFILE%
git clone https://github.com/gmarik/vundle.git vimfiles/bundle/vundle

5. 在用户目录下,也就是C:\Users\你的用户名   或者 C:\用户\你的用户名, 创建一个文件,名为_vimrc,注意,没有扩展名。然后,在这个文件中输入如下内容。

set nocompatible              " be iMproved, required
filetype off " required " set the runtime path to include Vundle and initialize
set rtp+=~/vimfiles/bundle/vundle/
let path='~/vimfiles/bundle'
call vundle#rc(path)
" alternatively, pass a path where Vundle should install bundles
"let path = '~/some/path/here'
"call vundle#rc(path) " let Vundle manage Vundle, required
Bundle 'gmarik/vundle' " The following are examples of different formats supported.
" Keep bundle commands between here and filetype plugin indent on.
" scripts on GitHub repos
Bundle 'tpope/vim-fugitive'
Bundle 'Lokaltog/vim-easymotion'
Bundle 'tpope/vim-rails.git'
" The sparkup vim script is in a subdirectory of this repo called vim.
" Pass the path to set the runtimepath properly.
Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
" scripts from http://vim-scripts.org/vim/scripts.html
Bundle 'L9'
Bundle 'FuzzyFinder'
" scripts not on GitHub
Bundle 'git://git.wincent.com/command-t.git'
" git repos on your local machine (i.e. when working on your own plugin)
Bundle 'file:///home/gmarik/path/to/plugin'
" ... filetype plugin indent on " required
"
" Brief help
" :BundleList - list configured bundles
" :BundleInstall(!) - install (update) bundles
" :BundleSearch(!) foo - search (or refresh cache first) for foo
" :BundleClean(!) - confirm (or auto-approve) removal of unused bundles
"
" see :h vundle for more details or wiki for FAQ
" NOTE: comments after Bundle commands are not allowed.

6. 打开Vim,在命令模式下,输入:BundleInstall(注意要有前面的冒号),就会开始安装插件了

7. 如果要安装其他插件,只需要打开用户目录下的_vimrc文件,然后在文件中添加Bundle '<插件名字或者git路径>',并且在关闭Vim并且重新打开后输入:BundleInstall就会安装插件了。如果需要更新插件,则输入命令:BundleUpdate。如果要删除不用的Vim脚本,则输入:BundleClean命令。

好了,有了Vundle的帮助,就可以很方便的安装各种插件了。开始体验强大的Vim插件吧!



Vim实用技巧系列 - 开篇的更多相关文章

  1. Vim实用技巧系列 - 搜索

    最近发现了一个很好的VIM资源,best of vim tips, 展示了一系列很有用的vim 技巧.博主会逐个翻译介绍这些技巧. 来源: http://rayninfo.co.uk/vimtips. ...

  2. Vim实用技巧系列 - 代码注释

    在写代码时候,有时候需要临时注释掉一部分代码,之后还要取消这些注释.真麻烦.那么,用Vim怎么做这件事呢? 第一种方法,块模式.                 再次声明,本系列全部以windows下 ...

  3. Vim实用技巧系列 - tab和空格的转换

    有时候,我们会修改一些代码,而这些代码中的tab设定和我们自己的设定不一样.例如,我们自己的设定是以两个空格来代替tab,而要修改的代码则是使用tab.那么,我们应该怎样快速的将又有的tab转换为空格 ...

  4. Vim实用技巧系列 - 利用百度云和git实现vim配置多机共享

    Vim是一个强大的文本编辑器.良好的配置更能便利对Vim的使用.有时候,我们会在几台不同的电脑上使用Vim. 例如,我们可能在自己的电脑和公司的电脑上都安装了Vim. 有时候,我们需要实现,如果我们配 ...

  5. ###《VIM实用技巧》

    ###<VIM实用技巧> #@author: gr #@date: 2015-11-20 #@email: forgerui@gmail.com <VIM实用技巧>阅读笔记. ...

  6. vim实用技巧总结

    1. 单个文件内实用mark来帮助跳转以及一些宏操作.(注意:mark不能用于多文件之间的跳转)mch 设置宏,保存到ch标记(不是ch寄存器)'ch 跳转到标记的行首`ch 跳转到标记的字符处另:为 ...

  7. 很全面的WinRAR实用技巧系列 - imsoft.cnblogs

    WinRAR也可以管理我的桌面时间长了,桌面上堆的东西实在太多,平时该如何管理呢?安装了WinRAR的朋友可以请它来帮忙,用它管理清除无用的桌面文件或图标. 以XP系统为例,系统所在目录是“c:\wi ...

  8. 《Vim实用技巧》第2版读书笔记

    学习前的建议: 一.如果你需要一个功能强大的文本编辑器,速度飞快.使用方便.代码补全.编程强大.定制性强,Vim就是你需要的: 二.学习入门曲线陡峭,但是使用后期异常简单,效率超高: 三.号称可以跟上 ...

  9. vim实用技巧

    <1> 删除空格: :% s/ //gi    #正则为一个空格,替换为空,全局匹配. <2> 删除空行: :g /^\n*$/ d  #g为global  正则为:行开始+换 ...

随机推荐

  1. JavaScript的异步运行机制

    ----异步运行机制如下: 1.左右同步任务都在主线程上执行,形成一个执行栈 2.主线程值外,还存在一个任务队列,只要异步任务有了运行结果,就在任务队列中放置一个事件 3.一旦执行栈中的所有同步任务执 ...

  2. spring mvc 用cookie和拦截器实现自动登录(/免登录)

    Cookie/Session机制详解:http://blog.csdn.net/fangaoxin/article/details/6952954 SpringMVC记住密码功能:http://blo ...

  3. 2018.08.31 bzoj1419 Red is good(期望dp)

    描述 桌面上有R张红牌和B张黑牌,随机打乱顺序后放在桌面上,开始一张一张地翻牌,翻到红牌得到1美元,黑牌则付 出1美元.可以随时停止翻牌,在最优策略下平均能得到多少钱. 输入 一行输入两个数R,B,其 ...

  4. SceneControl+AE+鼠标滚轮缩放

    要为SceneControl设置鼠标滚轮缩放必须定义委托,因为SceneControl没有Wheel事件,所以委托From的Wheel事件 public Form1() { InitializeCom ...

  5. webuploader 文件上传总结

    $(function() { /** * 初始化Web Uploader */ var uploader = WebUploader.create({ swf : '../mobile/Uploade ...

  6. 使用ASI传递post表单..参数是数组

    你可以使用addPostValue方法来发送相同name的多个数据(梦维:服务端会以数组方式呈现): ASIFormDataRequest *request = [ASIFormDataRequest ...

  7. python socket.error: [Errno 10061]

    用Python写server和client时候如果server中sock.bind(('localhost', 8001))  则client中sock.connect(('localhost', 8 ...

  8. 基于Verilog HDL的二进制转BCD码实现

    在项目设计中,经常需要显示一些数值,比如温湿度,时间等等.在数字电路中数据都是用二进制的形式存储,要想显示就需要进行转换,对于一个两位的数值,对10取除可以得到其十位的数值,对10取余可以得到个位的数 ...

  9. Ansible免密码登陆

    配置Linux主机无密码访问 生成秘钥 ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to ...

  10. [php] try - catch exceptiong handler

    //http://stackoverflow.com/questions/1241728/can-i-try-catch-a-warningOne possibility is to set your ...