vim学习及插件

参见:http://www.cnblogs.com/caixu/p/6337926.html

.vimrc配置

"**********************************************
"*****************Part1 Base *****************
"**********************************************
"关闭兼容模式, 即不要使用vi的键盘模式
set nocompatible


"设置行号显示与否
set nu
"设置自动缩进
set autoindent
"设置缩进宽度
set shiftwidth=4
"为C程序提供自动缩进
set smartindent


"设置所有的Tab和缩进为4和空格
set tabstop=4
"使得按退格键一次可以删除4个空格
set softtabstop=4


"设置 C/C++ 语言的具体缩进方式
"set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s


"设置退格
"set backspace=indent,eol,start


"激活鼠标的使用
set mouse=a


"molokai原始背景色
let g:molokai_original = 1
"设置molokai
let g:rehash256 = 1
"vim开启256色支持
set t_Co=256
"设置颜色
"colorscheme desert
colorscheme molokai
"设置背景色
set background=dark


"当文件在外部被更改时,自动更新该文件
"set autoread


"显示匹配的括号
"set showmatch


"解决复制粘帖格式错乱问题
set paste
"set pastetoggle=<F9>


"开启语法
set syntax=on


"侦测文件类型
filetype on
"载入文件类型插件
filetype plugin on
"为特定文件类型载入相关缩进文件
filetype indent on


"搜索时高亮显示搜索到的内容
set hlsearch
"在搜索时,输入的词句的逐字符高亮
set incsearch
"高亮显示当前行
set cursorline


"设置按照语法折叠 syntax:用语法高亮来定义折叠
set foldmethod=syntax
"设置折层数
set foldlevel=100
"设置折叠区域的宽度
set foldcolumn=2


"设置编码
set encoding=utf-8
"设置终端编码
set termencoding=utf-8
"设置文件编码
set fileencoding=gb2312
"按顺序使用fileencodings 中的编码进行尝试解码, 解决文件编码识别与乱码处理
set fileencodings=ucs-bom,utf-8,cp936,ansi,prc


"搜索时不区分大小写
"set ignorecase


"支持跨行移动或者删除
set whichwrap=b,s,<,>,[,]


"在命令模式下使用 Tab 自动补全的时候,将补全内容使用一个漂亮的单行菜单形式显示出来
set wildmenu


"设置状态行格式
set statusline=%<[%F]%y%r%m%*%=[%l,%c][%p%%]
"显示状态栏, 默认值为1:表示无法显示状态栏
"set laststatus=2
"设置在编辑过程中右下角显示光标的行列信息
set ruler
"在左下角的状态栏显示 --INSERT-- 之类的字眼
set showmode


"**********************************************
"*****************Part2 Plugin*****************
"**********************************************
"======ctags
map <F5> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>
map <F2> :cw<CR>
map <F3> :ccl<CR>
set tags=tags;/


"ctrl-] jump to the function definition
"ctrl-t or ctrl-o jump to the laster pointer position


"======taglist
"不同时显示多个文件的tag,仅显示一个
let Tlist_Show_One_File=1
"taglist为最后一个窗口时,退出vim
let Tlist_Exit_OnlyWindow=1


"======cscope
"ctrl-\s find string include declare
"ctrl-\c find all call, not include declare
"把Cscope的查找结果输出到quickfix窗口
set cscopequickfix=s-,g-,c-,d-,i-,t-,e-


"======Winmanager, NERDTree, MiniBufExplorer
"可以用<C-h,j,k,l>切换到上下左右的窗口
let g:miniBufExplMapWindowNavVim = 1
"是用<C-箭头键>切换到上下左右窗口中去
let g:miniBufExplMapWindowNavArrows = 1
"<C-Tab>,<C-S-Tab>切换
let g:miniBufExplMapCTabSwitchBufs = 1
let g:miniBufExplModSelTarget = 1
let g:miniBufExplMoreThanOne=0


let g:NERDTree_title="[NERDTree]"
let g:winManagerWindowLayout="NERDTree|TagList"

function! NERDTree_Start()
exec 'NERDTree'
endfunction

function! NERDTree_IsValid()
return 1
endfunction

nmap wm :WMToggle<CR>



"function! Zoom ()
" " check if is the zoomed state (tabnumber > 1 && window == 1)
" if tabpagenr('$') > 1 && tabpagewinnr(tabpagenr(), '$') == 1
" let l:cur_winview = winsaveview()
" let l:cur_bufname = bufname('')
" tabclose
"
" " restore the view
" if l:cur_bufname == bufname('')
" call winrestview(cur_winview)
" endif
" else
" tab split
" endif
"endfunction

显示效果图:

VIM学习二: VIM配置代码及效果图的更多相关文章

  1. AgileEAS.NET SOA 中间件平台5.2版本下载、配置学习(二):配置WinClient分布式运行环境

    一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...

  2. 我用Emacs,后来转向Vim——Vim学习之Vim键盘图(绝对值得珍藏)

    Emacs本来就比较臃肿,麻烦.当我发现Vim键盘图时,我就渐渐转向Vim,追随Unix/Linux哲学去了.. 我用了Emacs三个月,因为它的学习曲线没Vim陡,这点吸引了,我使用Linux才7. ...

  3. springboot深入学习(二)-----profile配置、运行原理、web开发

    一.profile配置 通常企业级应用都会区分开发环境.测试环境以及生产环境等等.spring提供了全局profile配置的方式,使得在不同环境下使用不同的applicaiton.properties ...

  4. Jetty学习二:配置概览-怎么配置Jetty

    Jetty POJO配置 Jetty的核心组件是Plain Old Java Objects(POJOs):配置Jetty的大部分工作就是在Jetty POJOs上的初始化.装配和设置域的处理,你能通 ...

  5. AgileEAS.NET SOA 中间件平台5.2版本下载、配置学习(三):配置ActiveXForm运行环境

    一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...

  6. vim学习、各类插件配置与安装

    vim学习.各类插件配置与安装 vim 插件 配置 1. vim学习 vim基础学习:根据网上流行基础文章<简明Vim练级攻略>,进阶书籍<vim实用技巧>.注:进阶书籍可以在 ...

  7. vim学习、各类插件配置与安装【转】

    转自:https://www.cnblogs.com/forest-wow/p/6916531.html 1. vim学习 vim基础学习:根据网上流行基础文章<简明Vim练级攻略>,进阶 ...

  8. Linux学习系列之Linux入门(二)Vim学习

    第二篇 Vim学习 主要内容: 基本命令: 插件扩展: 参考资料: vim是一个命令控制的文本编辑器,可以完成几乎我们想要做的所有工作,除了Emacs几乎没有其他的工具能和它匹敌.官方网站是:http ...

  9. linux学习(二)-----Linux 的目录结构、远程登录、vi和vim

    linux目录结构 基本介绍 linux 的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此 目录下再创建其他的目录. 目录结构具体介绍 Linux 目录总结 1.lin ...

随机推荐

  1. SKU : Stock Keeping Unit

    Stock Keeping Unit  is a number assigned to a product by a retail store to identify the price, produ ...

  2. js的原型/原型链/构造函数

    js里一切皆对象.有js自己内部的对象,还有用户自定义的对象.所有的对象都是从原型上衍生出来的. 原型本身也是对象,原型链的最高层就是Object. 两个重要的属性:prototype, __prot ...

  3. java第四次上机

    package bbb;public class Person { private String name; private int age; public Person(){ } public Pe ...

  4. MongDB 批量更新

    最近公司在使用mongodb.  批量更新的语句为: db.table.update(  {'wo': {$in: [ "123", "456"]}}, {$s ...

  5. K8s+jenkins实现提升效率 —— 一些小记录

    尝试下K8s + jenkins的组合,非常方便.在这里记录一下: kubernetes版本: 1.10 + deployment.yaml apiVersion: v1 kind: Service ...

  6. Python3将xml文件解析为Python对象

    一.说明 从最开始写javascript开始,我就很烦感使用getElementById()等函数来获取节点的方法,获取了一个节点要访问其子孙节点要么child半天要么就再来一个getElementB ...

  7. 八大排序算法——堆排序(动图演示 思路分析 实例代码java 复杂度分析)

    一.动图演示 二.思路分析 先来了解下堆的相关概念:堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆:或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆.如 ...

  8. Rhel6.6---执行命令df -h卡住不动

    问题描述 nfs服务宕掉后,df -h卡住不动,使用xftp也无法打开文档路径 -bash-4.1# mount /dev/mapper/vg_root-LogVol00 on / type ext4 ...

  9. lr-web services协议

    1.web services协议简介 web services协议是建立可交互操作的分布式应用程序的新平台,它通过一系列标准和协议来保证程序之间的动态链接,其中最基本的协议包括soap,wsdl,ud ...

  10. YML文件中ipv6地址输入格式

    关于YML文件格式可以百度,这里只说ipv6:yml文件是注重格式的不能用tab键代替空格 ipv4 :10.1.202.9 ipv6: 2001:202::6e4:f32b:c19c:4760 端口 ...