vim配置文件和插件管理
本文通过总结零碎的资料总结而成,更多是去引导学习vim配置文件及插件使用。
.vimrc配置文件,内容如下(备注清晰)
"引入插件pathogen使用
execute pathogen#infect()
call pathogen#helptags()
"禁用vi兼容模式
set nocompatible
"vim的内部编码
set encoding=utf-8
"vim在与屏幕和键盘交互师傅使用的编码(取决于实际的终端的设定)
set termencoding=utf-8
"vim打开文件时的尝试使用的编码
set fileencodings=utf-8,gbk,gb2312,default,latin1
"开启语法高亮功能
syntax enable
"允许用指定高亮替换方案
syntax on
"显示行号
set nu
"括号匹配
set showmatch
"自动检测文件类型
filetype plugin indent on
"在缩进和遇到Tab键时使用空格替代
set expandtab
"根据文件类型设置缩进格式
au FileType html,vim,javascript setl shiftwidth=2
au FileType html,vim,javascript setl tabstop=2
au FileType java,php,pathon setl shiftwidth=4
au FileType java,php,pathon setl tabstop=4
"启动vim时不要自动折叠代码
set foldlevel=100
"自动对齐
set ai
"根据下面的格式对齐
set si
set smarttab
set wrap
set lbr
set tw=0
set foldmethod=syntax
"总是显示状态栏
set laststatus=2
"显示光标当前位置
set ruler
"高亮显示当前行
set cursorline
"高亮显示搜索结果
set hlsearch
"禁止拆行
set nowrap
"设置快捷键前最,即<Leader>
let mapleader=":"
"设置快捷键将选中文本块复制到系统剪贴板
map <Leader>y "+y
"设置快捷键将系统剪贴板内容粘帖到vim
map <Leader>p "+p
noremap <F9> :!ctags -R<CR>
"设置tags文件为当前目录下的tags,默认情况也是
"set tags+=./tags
"配置文件.vimrc更改后自动重新载入使设置生效
autocmd! bufwritepost .vimrc source ~/.vimrc
"vim对一些流行的编程语言的语法提供自动完成的功能,但是默认是没有启用。
autocmd FileType php set omnifunc=phpcomplete#CompletePHP
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
"vim对一些语言实现的格式化命令
"在命令模式下直接输入“gg=G”。
"
"以下为插件设置参数
"
"-----------------------------------------------------------------
"auto-pairs插件,用于自动补全括号,引号等
"
"-----------------------------------------------------------------
"vim-surroun.vim插件,处理分隔符,包括添加、修改、删除。
"添加"",选择内容,输入S"。
"修改""为'',在分隔符内部,输入cs"'。
"删除"",在分隔符内部,输入ds"。
"删除<>xml标签时,t可以代替<>xml标签。
"
"-----------------------------------------------------------------
"nerdtree插件,目录树。
"设置默认开启
autocmd vimenter * NERDTree
"打开关闭快捷键
map <F3> :NERDTreeToggle<CR>
"当只剩下目录树时,自动关闭vim。
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") &&b:NERDTreeType == "primary") | q | endif
"
"-----------------------------------------------------------------
"xptemplate插件,代码片段补全
"提示方式:Ctrl+\。
"
"vim-Markdown插件,实现markdown高亮。
"
"tagbar插件显示方法属性列表
map <silent> <F4> :TagbarToggle<CR>
let g:tagbar_width=30
let g:tagbar_autofocus=1
"
"-----------------------------------------------------------------
"NERD_commenter.vim 注释代码用的,
"[count]<Leader>cc 光标以下count行逐行添加注释(7,cc)
"[count]<Leader>cu 光标以下count行逐行取消注释(7,cu)
"[count]<Leader>cm 光标以下count行尝试添加块注释(7,cm)
"<Leader>cA 在行尾插入 /* */,并且进入插入模式。 这个命令方便写注释。
"注:count参数可选,无则默认为选中行或当前行
"-----------------------------------------------------------------
let NERDSpaceDelims=1 " 让注释符与语句之间留一个空格
let NERDCompactSexyComs=1 " 多行注释时样子更好看"
这份配置文件只能是基础使用,开始是简单的字符编码设置,再是语法高亮(VIM自带javascript语法高亮,但是自带的那个位于syntax目录下的javascript.vim那个配置文件比较弱,有很多关键词没有高亮。我们可以到www.vim.org搜索最新的javascript.vim代替了原来的那个文件的),其次是对Tab键的设置,并且可以设置根据不同文件区分Tab键宽度。最后是对快捷键的设置,注意这里的复制粘帖是指vim之外电脑本身的剪切板。
以上就是.vimrc配置文件,一些基本的引导,可以自己做适合自己的快捷键或设置。
接下来具体记录如何处理插件
(注:做同样的事肯定存在多种选择,插件也是,相同功能有很多不同插件可以实现,以下是我个人的选择)
正常安装插件较为繁琐,需要到/usr/share/vim/vim**/文件下操作,插件比较不好管理,所以推荐使用插件管理器。pathogen和vundle都是用来管理vim插件的,但是其作用的方面不同。
- pathogen是为了解决每一个插件安装后文件分散到多个目录不好管理而存在的。
- vundle是为了解决自动搜索及下载插件而存在的。
我个人使用的是apthogen插件,当插件过多时,条理的安置插件才是最好的,另外大部分使用的插件可以看到并不会短期内更新。介绍pathogen插件:首先,在用户目录的.vim目录下建立autoload目录和bundle目录,autoload目录中放pathogen.vim。可以在~/.vim/autoload/目录下,用如下命令下载
curl –Sso pathogen.vim https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim
然后在配置文件的首行添加如下命令execute pathogen#infect()
,回头看看上方.vimrc配置文件开头。
有了pathogen后,下载的插件就直接把它们放到bundle目录下即可,而不需要管理相应的autoload、colors、plugin等目录。添加help文件,在vim下用命令:helptags ~/.vim/doc/
即可通过help命令查看插件文档。
(注:哪怕插件只是一个.vim文件,也可以先新建一个文件夹,然后再建plugin文件夹,最后将该插件放入即可)
有了这么好的插件管理器,安装插件就变得非常方便,因为vim毕竟是IT开发人员开发出来的,所以vim最终受益者还会是开发人员,配置IDE开发环境插件。
文件浏览插件
一个好的文件浏览肯定少不了目录树,并且能够方便切换。我推荐使用NERDTree。我们先安装然后后续可以自己多看文档,正如我前面所说的有了好的插件管理器,就可以很方便完成安装使用。我们可以直接去到官网http://www.vim.org/scripts/script.php?script_id=1658选择最新版本直接下载即可。我们将压缩包解压以后,通过cp命令行将文件夹直接复制到~/.vim/bundle/下即可,可以打开vim,并在并在命令行输入:NERDTree,并可以看到左边跳出当前文件下的目录树,为了便于方便可以设置每次打开vim自动跳出NERDTree所以我们可以在.vimrc文件中设置,同时可以设置打开关闭快捷键。是不是很方便!
对齐文本插件
对于经常写代码来说,有Tabular会很方便,文本可以按等号,冒号等来对齐文本。我们还是先直接安装插件,到https://github.com/godlygeek/tabular下载,这次是git上的一个项目,不用慌还是直接下载即可,得到安装包后解压到~/.vim/bundle/即可直接使用。
显示方法属性列表
tagbar插件显示方法属性列表,帮助开发人员查看当前文件中的宏、全局变量、函数等标签,先通过http://www.vim.org/scripts/script.php?script_id=3465安装,然后在.vimrc文件中配置插件,参考上面文档内容,就可以自定义显示方式。通过选择标签也可以实现直接跳转功能,具体实现可以查看帮助文档。
NERD_commenter注释代码
xptemplate插件,代码片段补全
auto-pairs插件,用于自动补全括号,引号等
vim-Markdown插件,实现markdown高亮。
vim-surroun.vim插件,处理分隔符,包括添加、修改、删除。
函数跳转(没有使用插件)
对于IDE而言也算最基本也是最方便的功能之一了吧。正常情况下可以下载插件,但是我选择使用vim自带的跳转,快捷键:control+]
跳入,control+o
返回。
但是任何方法都要基于tags来实现。这里不多加解释,需要自己慢慢去啃。。。http://www.java123.net/v/583584.html,这篇文章将tags介绍的很详细,简单的说tags是一个linux上很普遍的源码分析工具, 可以将代码中的函数变量等定义的位置记录在一个名称为tags的文件,类似于数据库记录功能,而接下来的插件就是需要用的这些标签,可以通过命令sudo apt-get install ctags
进行安装(Ubuntu下),然后在工作目录下生成tags标签文件,最方便的命令是ctags -R
直接根据目录下所有文件来获取标签,类似于函数名,变量名等,最后在.vimrc文件中添加路径:set tags+=/home/user/tags
就可以让vim在每次启动的时候自动找到tags标签文档。
vim使用建议(重要)
- 以上只是带领大家简单了解和配置vim,大家可以按照前面介绍的把后面几个推荐的插件安装到自己的vim中。在以后学习中可以慢慢的不断完善配置文档和插件的选择,最后希望能有真正属于自己并且适合自己的.vimrc。
- 在使用vim过程中尽量使用vim自带的快捷键或功能,也尽量不要过多的依赖使用很多插件,可以避免在别人的电脑上原装的vim什么也不会操作。
- 如果换了主机,可以通过将,.vim文件夹和.vimrc文件放置到github之类的代码托管上,下次无论在谁的电脑上都可以很快拉取下来使用。下面是我自己托管在github上的链接,推荐大家使用:https://github.com/wuxiwei/vim
转载请注明出处。
作者:wuxiwei
出处:http://www.cnblogs.com/wxw16/p/6259292.html
vim配置文件和插件管理的更多相关文章
- Vim下的插件管理工具pathogen简介
1.pathogen简介: 通常情况下安装vim插件是将所有的插件和相关的doc文件都安装在一个文件夹中,如$VIM/vim74/plugin目录下,文档在$VIM/vim74/doc目录下,但 ...
- vundle就是vim bundle的插件管理成ide
如何配置一个高效的php编辑环境, 很好 对vundle的操作, 除了仓库名称是vundle.git (*.git就是仓库) 和 本地目录名是 vundle之外, 其他的操作都是bundle git ...
- vim实战:插件安装(Vundle,NerdTree)
一:插件管理器Vundle 1.简介 Vundle是vim的一个插件管理器, 同时它本身也是vim的一个插件.插件管理器用于方便.快速的安装.删除.Vim更新插件.vim Vundle插件官方地址:h ...
- vim利用插件管理工具-管理配置文件
目前被广泛应用的2各插件管理工具Pathogen和Vunble,我先说Pathogen Pathogen Pathogen完全用vim脚本编写,不用其他的代码(Vunble就用了python),所以安 ...
- Vim插件管理——Vundle
Vim插件管理--Vundle 都说Vim时程序员写给自己的编辑器,其中的情结可想而知.身为一只程序狗CodingDoge,今天就让我带各位学习Vim的使用. vim因为其庞大而强劲的插件受到无比的推 ...
- 【vim】插件管理及代码智能提示与补全环境的配置
1. 引言 可以使用脚本/插件来给vim添加各种神奇的功能,从更换颜色主题.到代码智能提示,甚至项目管理.无数开发者通过开源社区贡献自己开发的插件,使得vim有可能变得无比强大.这儿http://vi ...
- 使用Vim-plug作为Vim 插件管理器
ref: https://www.cnblogs.com/jiftle/p/6918157.html - vundle是一款老款的插件管理工具- vim-plug相对较新,特点是支持异步加载,相比vu ...
- 菜鸟vimer成长记——第4.0章、Vim插件管理利器-Vundle
定义 Vundle是vim bunler和简称,它是一个vim插件管理器. Vim本身缺乏对插件的有效管理,安装插件并配置.vimrc文件非常不便.gmarik受到Ruby的bunler的启发,开发了 ...
- [转]Vim插件管理工具Vundle
原文:http://www.linuxzen.com/vimpei-zhi-xi-lie-cha-jian-guan-li.html 当转载成为一种习惯.. 最近对Vim进行了一番较大的配置变动,所以 ...
随机推荐
- 通过URL传递PDF名称参数显示PDF
1 <%@ page language="java" import="java.util.*,java.io.*" 2 pageEncoding=&quo ...
- JAVA_SE基础——43.抽象类
高手勿喷~ 抽象类:当定义一个类时,常常需要定义一些方法来描述该类的行为特征,但有时这些方法的实现方式是无法确定的.例如定义Animal类时,shout()方法用于表示动物的叫声,但是针对不同的动物, ...
- IdentityServer4实战 - 基于角色的权限控制及Claim详解
一.前言 大家好,许久没有更新博客了,最近从重庆来到了成都,换了个工作环境,前面都比较忙没有什么时间,这次趁着清明假期有时间,又可以分享一些知识给大家.在QQ群里有许多人都问过IdentityServ ...
- Python内置函数(60)——compile
英文文档: compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1) Compile the source i ...
- First:安装配置JDK and 部署Tomcat
(一)准备 百度云地址(win,64Bit): 1.tomcat(7.0):链接:https://pan.baidu.com/s/1f60DOGO5Hnj9bq-987FNrw 密码:6q55 2.j ...
- linux下的Shell编程(4)特殊的变量和占位符
$#表示包括$0在内的命令行参数的个数.在Shell中,脚本名称本身是$0,剩下的依次是$0.$1.$2-.${9},等等. $*表示整个参数列表,不包括$0,也就是说不包括文件名的参数列表. $?表 ...
- spring-oauth-server实践:授权方式四:client_credentials 模式下access_token的产生
授权结果 获取access_token成功, 访问资源服务器API http://localhost:9000/api-gateway-engine/unity/user_info?access_to ...
- Python入门之PyCharm的快捷键与常用设置和扩展(Win系统)
1. PyCharm的快捷键 2 . PyCharm的常用设置和扩展 ---------------------------------------------------------------- ...
- Spring(一):eclipse上安装spring开发插件&下载Spring开发包
eclipse上安装spring开发插件 1)下载安装插件包:https://spring.io/tools/sts/all 由于我的eclipse版本是mars 4.5.2,因此我这里下载的插件包是 ...
- Java:日期类Date与Calendar
Timestamp类型与日期类型之间的转化? Timestamp timestamp = Timestamp.valueOf("2017-03-17 07:00:00"); Dat ...