利用Vundle给Vim安装插件支持 MarkDown 语法、实时预览等
Vim 是Linux系统下超级、超级、超级强大的编辑软件,所以要想熟练的使用和学习 Linux 可以说 Vim 是个永远无法跨越的存在,笔者最近在体验学习 Hexo 博客的时候就深深的感受到了这一点儿,仅仅是将 Vim 作为一个简单的编辑软件来使用是远远不够的,所以要在这方面加强学习了,今天就以 Vim 安装和管理插件的 Vundle 给 Vim 安装支持 MarkDown 语法高亮显示和实时预览功能插件为开始深入学习 Vim 的开篇学习笔记。
Vim 中杀手级的插件 Vundle 简介
Vundle 是 Vim bundle 的简称,是一个 Vim 插件管理器。用户需要做的只是去 GitHub 上找到自己想要的插件的名字,安装,更新和卸载都可有 Vundle 来完成了。
Vundle 允许你做:
- 在.vimrc中跟踪和管理插件
- 安装特定格式的插件(a.k.a. scripts/bundle)
- 更新特定格式插件
- 通过插件名称搜索Vim scripts中的插件
- 清理未使用的插件
- 可以通过单一按键完成以上操作,详见interactive mode
Vundle 的安装
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
默认安装在/.vim/bundle/vundle
目录下。
Vundle 配置说明
插件有三种类型:
- GitHub 上vim-scripts仓库的插件
- GitHub 上非vim-scripts仓库的插件
- 不在 GitHub 上的插件
对于不同的插件, Vundle 自动管理和下载插件的时候,有不同的地址填写方法,有如下三类:
- 在 GitHub 上vim-scripts用户下的仓库,只需要写出repos(仓库)名称
- 在 GitHub 其他用户下的repos, 需要写出”用户名/repos名”
- 不在 GitHub 上的插件,需要写出git全路径
配置 Vundle 插件
可以在终端通过 Vim 打开~/.vimrc
文件,
$vim ~/.vimrc
也可以直接在目录中打开(快捷键ctrl+H显示隐藏文件)。
将以下加在.vimrc
文件中,加入之后保存之后就可以使用 Vundle 了。
添加的配置信息(样例)
注:以后安装新插件就直接编辑vimrc,添加plugin就行了,在这里我们添加的plugin只是例子,你可以不安装这些插件,换上自己需要安装的插件。
set nocompatible " 去除VI一致性,必须要添加
filetype off " 必须要添加
" 设置包括vundle和初始化相关的runtime path
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" 另一种选择, 指定一个vundle安装插件的路径
"call vundle#begin('~/some/path/here')
" 让vundle管理插件版本,必须
Plugin 'VundleVim/Vundle.vim'
" 以下范例用来支持不同格式的插件安装.
" 请将安装插件的命令放在vundle#begin和vundle#end之间.
" Github上的插件
" 格式为 Plugin '用户名/插件仓库名'
Plugin 'tpope/vim-fugitive'
" 来自 http://vim-scripts.org/vim/scripts.html 的插件
" Plugin '插件名称' 实际上是 Plugin 'vim-scripts/插件仓库名' 只是此处的用户名可以省略
Plugin 'L9'
" 由Git支持但不再github上的插件仓库 Plugin 'git clone 后面的地址'
Plugin 'git://git.wincent.com/command-t.git'
" 本地的Git仓库(例如自己的插件) Plugin 'file:///+本地插件仓库绝对路径'
Plugin 'file:///home/gmarik/path/to/plugin'
" 插件在仓库的子目录中.
" 正确指定路径用以设置runtimepath. 以下范例插件在sparkup/vim目录下
Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
" 安装L9,如果已经安装过这个插件,可利用以下格式避免命名冲突
Plugin 'ascenator/L9', {'name': 'newL9'}
" 你的所有插件需要在下面这行之前
call vundle#end() " 必须
filetype plugin indent on " 必须 加载vim自带和插件相应的语法和文件类型相关脚本
" 忽视插件改变缩进,可以使用以下替代:
"filetype plugin on
"
" 常用的命令
" :PluginList - 列出所有已配置的插件
" :PluginInstall - 安装插件,追加 `!` 用以更新或使用 :PluginUpdate
" :PluginSearch foo - 搜索 foo ; 追加 `!` 清除本地缓存
" :PluginClean - 清除未使用插件,需要确认; 追加 `!` 自动批准移除未使用插件
"
" 查阅 :h vundle 获取更多细节和wiki以及FAQ
" 将你自己对非插件片段放在这行之后
安装需要的插件
将想要安装的插件,按照地址填写方法,将地址填写在vundle#begin
和vundle#end
之间就可以保存之后,有两种方法安装插件。
- (1) 运行 vim ,再运行 :PluginInstall
vim
:PlugInstall
- (2) 通过命令行直接安装 vim +PluginInstall +qall
vim +PluginInstall +qall
安装完成之后,插件就可以使用。
移除不需要的插件
编辑.vimrc文件移除的你要移除的插件所对应的plugin那一行。
保存退出当前的vim
重新打开vim,输入命令BundleClean。
其他常用命令
- 更新插件BundleUpdate
- 列出所有插件BundleList
- 查找插件BundleSearch
通过 Vim 插件来完成对 MarkDown 的完美支持
安装完成了 Vundle 后,我们就可以来通过 Vundle 来安装和管理 Vim 的插件了。为了让 Vim 支持 MarkDown 语法高亮显示就需要安装vim-markdown插件了。当然还有针对 MarkDown 一系列的插件需要安装,如:previm、ColorScheme、nerdtree等等,这些插件来配合已达到 Vim 对 MarkDown 的完美支持,这些都是通过 Vundle 就可以来完成了,下面具体的讲解一下。
安装Markdown插件
vim-markdown
是一个让Markdown
语法高亮且有相关配置的插件。
用 Vundle 来安装很方便,只需要在.vimrc
中配置以下参数,然后重新打开 Vim
使用命令PluginInstall
开始安装,注意:tabular
必须在vim-markdown
前面。Plugin 'godlygeek/tabular'Plugin 'plasticboy/vim-markdown'安装完后打开格式为md的文件就可以体验到Markdown语法高亮的效果了。
上述的安装方法后打开md文件是无效的,经过笔者实测后发现必须用下面的方法来手动完成vim-markdown
插件的安装配置才能生效。
cd ~/.vim/bundle
git clone https://github.com/tamlok/vim-markdown.git
然后将/root/.vim/bundle/vim-markdown
文件夹下的plugin
目录(存放插件)、syntax
目录(存放语法的解析文件)、ftdetect
目录(存放插件对哪些后缀的文件生效)至少这三个目录复制到/root/.vim/
目录下才会生效的。
网上的文章这里都是个“坑”呀,甚至 Vundle 里安装都是个“坑”根本就不会生效,只有上述的办法才可以。注意!!!
安装previm
previm
是一个预览Markdown
的插件,支持实时更新。
如果同时安装了open-browser.vim
这个插件,就不用再配置相关参数,直接在编辑Markdown
文本时,使用:PrevimOpen
就可以预览文本了,并且修改保存后可以实时更新预览。
Plugin 'kannokanno/previm'
Plugin 'tyru/open-browser.vim'
安装ColorScheme
插件
vim-colorschemes
是一个支持各种颜色主题的插件,方便配置。
同样用 Vundle 安装插件:
Plugin 'flazz/vim-colorschemes'
安装好后用命令:`colorscheme solarized`更换主题,`solarized`是主题名。`colorscheme`自带很多主题,可以去其 GitHub 托管地址上查询,也可以自己下载其他主题插件。
安装nerdtree
插件
nerdtree
是一个树状目录插件,有了这个插件 Vim 将更加方便。
还是同样用 Vundle 安装插件:
Plugin 'scrooloose/nerdtree'
下面这个命令粘贴在·vimrc
中可以在打开 Vim 时自动打开NERDTree
目录。
autocmd vimenter * NERDTree
将下面这条配置命令粘贴在.vimrc
中可以用快捷键ctrl+n
切换NEADTree
目录的开关(可以改成其他你想要的快捷键):
map <C-n> :NERDTreeToggle<CR>
将下面这条配置命令粘贴在.vimrc
中可以在只有NERDTree
目录时自动关闭:
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
OK,搞定完工,至此你的 Vim 已经可以说是完美的支持 MarkDown 语法和文件编辑、实时预览等等功能了,具体效果大家自行体验吧,反正我得去用 Vim 编辑一篇 Hexo 文章爽一下了!嘿嘿!