本文经过总结零碎的资料总结而成,更可能是去引导学习vim配置文件及插件使用。javascript
"引入插件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配置文件,一些基本的引导,能够本身作适合本身的快捷键或设置。php
(注:作一样的事确定存在多种选择,插件也是,相同功能有不少不一样插件能够实现,如下是我我的的选择)css
正常安装插件较为繁琐,须要到/usr/share/vim/vim**/文件下操做,插件比较很差管理,因此推荐使用插件管理器。pathogen和vundle都是用来管理vim插件的,可是其做用的方面不一样。html
我我的使用的是apthogen插件,当插件过多时,条理的安置插件才是最好的,另外大部分使用的插件能够看到并不会短时间内更新。介绍pathogen插件:首先,在用户目录的.vim目录下创建autoload目录和bundle目录,autoload目录中放pathogen.vim。能够在~/.vim/autoload/目录下,用以下命令下载java
curl –Sso pathogen.vim https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim
而后在配置文件的首行添加以下命令execute pathogen#infect()
,回头看看上方.vimrc配置文件开头。linux
有了pathogen后,下载的插件就直接把它们放到bundle目录下便可,而不须要管理相应的autoload、colors、plugin等目录。添加help文件,在vim下用命令:helptags ~/.vim/doc/
便可经过help命令查看插件文档。
(注:哪怕插件只是一个.vim文件,也能够先新建一个文件夹,而后再建plugin文件夹,最后将该插件放入便可)git
有了这么好的插件管理器,安装插件就变得很是方便,由于vim毕竟是IT开发人员开发出来的,因此vim最终受益者还会是开发人员,配置IDE开发环境插件。github
一个好的文件浏览确定少不了目录树,而且可以方便切换。我推荐使用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文件中配置插件,参考上面文档内容,就能够自定义显示方式。经过选择标签也能够实现直接跳转功能,具体实现能够查看帮助文档。
对于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标签文档。
转载请注明出处。
做者:wuxiwei
出处:http://www.cnblogs.com/wxw16/p/6259292.html