"=============================================================
"=============================================================
"
" Vim基本配置
"
"=============================================================
"============================================================= "关闭vi的一致性模式 避免以前版本的一些Bug和局限
set nocompatible
"配置backspace键工作方式
set backspace=indent,eol,start "显示行号
set number
"设置在编辑过程中右下角显示光标的行列信息
set ruler
"当一行文字很长时取消换行
"set nowrap "在状态栏显示正在输入的命令
set showcmd "设置历史记录条数
set history=1000 "设置取消备份 禁止临时文件生成
set nobackup
set noswapfile "突出现实当前行列、高亮当前行列
set cursorline
set cursorcolumn "设置匹配模式 类似当输入一个左括号时会匹配相应的那个右括号
set showmatch "设置C/C++方式自动对齐
set autoindent
set cindent "开启语法高亮功能
syntax enable
syntax on "指定配色方案为256色
set t_Co=256 "设置搜索时忽略大小写
set ignorecase "设置在Vim中可以使用鼠标 防止在Linux终端下无法拷贝
set mouse=a "设置Tab宽度
set tabstop=4
"设置自动对齐空格数
set shiftwidth=4
"设置按退格键时可以一次删除4个空格
set softtabstop=4
"设置按退格键时可以一次删除4个空格
set smarttab
"将Tab键自动转换成空格 真正需要Tab键时使用[Ctrl + V + Tab]
set expandtab "设置编码方式
set encoding=utf-8
"自动判断编码时 依次尝试一下编码
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1 set guifont=Monaco\ 13
set lines=35 columns=118 "检测文件类型
filetype on
"针对不同的文件采用不同的缩进方式
filetype indent on
"允许插件
filetype plugin on
"启动智能补全
filetype plugin indent on "===================================================================
"===================================================================
"
" 自定义vim操作
"
"====================================================================
"====================================================================
map <F5> :call Do_OneFileMake()<CR>
map <F2> :call Do_FileSave()<CR>
map <F3> :call Do_FileSaveAndQuit()<CR> " === 当前文件保存 ===
function Do_FileSave()
let source_file_name=expand("%:t")
if source_file_name==""
echoh1 WarningMsg | echo "The file name is empty." | echoh1 None
return
endif execute "w"
endfunction " === 当前文件保存退出 ===
function Do_FileSaveAndQuit()
let source_file_name=expand("%:t")
if source_file_name==""
echoh1 WarningMsg | echo "The file name is empty." | echoh1 None
return
endif execute "wq"
endfunction function Do_OneFileMake()
if expand("%:p:h")!=getcwd()
echoh1 WarningMsg | echo "Failed to make. This's file is not in the current dir." | echoh1 None
return
endif let source_file_name=expand("%:t") if source_file_name==""
echoh1 WarningMsg | echo "The file name is empty." | echoh1 None
return
endif if ( (&filetype!="c")&&(&filetype!="cc")&&(&filetype!="cpp")&&(&filetype!="python")&&(&filetype!="go") )
echoh1 WarningMsg | echo "Please just make c、cc、cpp and go file." | echoh1 None
return
endif if &filetype=="c"
exec "!gcc % -o %<"
exec "! ./%<"
elseif &filetype == "cpp"
exec "!g++ % -o %<"
exec "! %<"
elseif &filetype == "java"
exec "!javac %"
exec "!java %<"
elseif &filetype == "sh"
:!%
elseif &filetype == "python"
exec "!python %"
endif execute "w"
execute "silent make" endfunction "==============================================================
"==============================================================
"
" Vundle插件管理和配置项
"
"==============================================================
"============================================================== "开始使用Vundle的必须配置
set nocompatible
filetype off
set rtp+=/home/geekc3t/.vim/bundle/Vundle.vim
call vundle#begin() "=== 使用Vundle来管理Vundle ===
Plugin 'gmarik/Vundle.vim' "=== PowerLine插件 状态栏增强展示 ===
Plugin 'Lokaltog/vim-powerline'
"vim有一个状态栏 加上powline则有两个状态栏
set laststatus=2
set t_Co=256
let g:Powline_symbols='fancy' "=== The-NERD-tree 目录导航插件 ===
Plugin 'vim-scripts/The-NERD-tree'
"开启目录导航快捷键映射成n键
nnoremap <silent> n :NERDTreeToggle<CR>
"高亮鼠标所在的当前行
let NERDTreeHighlightCursorline=1 "=== Tagbar 标签导航 ===
Plugin 'majutsushi/tagbar'
"标签导航快捷键
nmap <F9> :TagbarToggle<CR>
let g:tagbar_autofocus = 1 "=== A 头文件和实现文件自动切换插件 ===
Plugin 'vim-scripts/a.vim'
"将切换的快捷键映射成<F4> Qt中使用该快捷键习惯了
nnoremap <silent> <F4> :A<CR> "=== ctrlp 文件搜索插件 不需要外部依赖包 ===
Plugin 'kien/ctrlp.vim'
"设置开始文件搜索的快捷键
let g:ctrlp_map = '<leader>p'
"设置默认忽略搜索的文件格式
let g:ctrlp_custom_ignore = '\.git$\|\.hg$\|\.svn$\|.rvm$'
"设置搜索时显示的搜索结果最大条数
let g:ctrlp_max_height=15 "=== YouCompleteMe 自动补全插件 迄今为止用到的最好的自动VIM自动补全插件===
Plugin 'Valloric/YouCompleteMe'
"自动补全配置插件路径
let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py'
"youcompleteme 默认tab s-tab 和自动补全冲突
"let g:ycm_key_list_select_completion=['<c-n>']
"let g:ycm_key_list_select_completion = ['<Down>']
"let g:ycm_key_list_previous_completion=['<c-p>']
"let g:ycm_key_list_previous_completion = ['<Up>']" "nnoremap <F5> :YcmForceCompileAndDiagnostics<CR>
"let g:UltiSnipsExpandTrigger="<c-j>"
"当选择了一项后自动关闭自动补全提示窗口
"let g:ycm_autoclose_preview_window_after_completion=1 "=== 自动补全单引号、双引号、括号等 ===
Plugin 'Raimondi/delimitMate' "自动补全单引号,双引号等
Plugin 'Raimondi/delimitMate'
" for python docstring ",优化输入
au FileType python let b:delimitMate_nesting_quotes = ['"'] "自动补全html/xml标签
Plugin 'docunext/closetag.vim'
let g:closetag_html_style=1 "################# 具体语言语法高亮 ############### " for python.vim syntax highlight
Plugin 'hdima/python-syntax'
let python_highlight_all = 1 " for golang
Plugin 'jnwhiteh/vim-golang'
Plugin 'Blackrush/vim-gocode' " for markdown
Plugin 'plasticboy/vim-markdown'
let g:vim_markdown_folding_disabled=1 " for javascript
Plugin "pangloss/vim-javascript"
let g:html_indent_inctags = "html,body,head,tbody"
let g:html_indent_script1 = "inc"
let g:html_indent_style1 = "inc" "for jquery
Plugin 'nono/jquery.vim' "for jinja2 highlight
Plugin 'Glench/Vim-Jinja2-Syntax' "=== 主题solarized ===
Plugin 'altercation/vim-colors-solarized'
let g:solarized_termtrans=1
let g:solarized_contrast="normal"
let g:solarized_visibility="normal" "=== 主题 molokai ===
Plugin 'tomasr/molokai'
"设置主题
colorscheme solarized
set background=dark
set t_Co=256 "=== indentLine代码排版缩进标识 ===
Plugin 'Yggdroot/indentLine'
let g:indentLine_noConcealCursor = 1
let g:indentLine_color_term = 0
"缩进的显示标识|
let g:indentLine_char = '¦' "=== vim-trailing-whitespace将代码行最后无效的空格标红 ===
Plugin 'bronson/vim-trailing-whitespace' "=== markdown编辑插件 ===
Plugin 'plasticboy/vim-markdown'
let g:vim_markdown_folding_disabled=1 "=== golang编辑插件 ===
Plugin 'jnwhiteh/vim-golang' "括号显示增强
Plugin 'kien/rainbow_parentheses.vim'
let g:rbpt_colorpairs = [
\ ['brown', 'RoyalBlue3'],
\ ['Darkblue', 'SeaGreen3'],
\ ['darkgray', 'DarkOrchid3'],
\ ['darkgreen', 'firebrick3'],
\ ['darkcyan', 'RoyalBlue3'],
\ ['darkred', 'SeaGreen3'],
\ ['darkmagenta', 'DarkOrchid3'],
\ ['brown', 'firebrick3'],
\ ['gray', 'RoyalBlue3'],
\ ['black', 'SeaGreen3'],
\ ['darkmagenta', 'DarkOrchid3'],
\ ['Darkblue', 'firebrick3'],
\ ['darkgreen', 'RoyalBlue3'],
\ ['darkcyan', 'SeaGreen3'],
\ ['darkred', 'DarkOrchid3'],
\ ['red', 'firebrick3'],
\ ]
let g:rbpt_max = 40
let g:rbpt_loadcmd_toggle = 0 call vundle#end()
"Vundle配置必须 开启插件
filetype plugin indent on "====================================================================
"====================================================================
" vim配色
"
"====================================================================
"====================================================================

  

东拼西凑 vim配置-更新的更多相关文章

  1. kali2.0安装及使用笔记(附带vim配置,长期更新)

    作者:陈栋权 时间:16/08/19 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明, 且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 如有特别用途,请与我联系邮 ...

  2. acm的ubuntu (ubuntu16.04 安装指南,chrome安装,vim配置,git设置和github,装QQ)

    日常手贱把ubuntu14.04更新到了16.04,然后就game over了.mdzz,不然泥萌也看不到这篇博客了=.= 然后花了些时间重装了一个16.04版的,原来那个14.04的用可以用,就是动 ...

  3. Vim配置IDE开发环境

    我的vim IDE界面: 1.安装Vim和Vim基本插件首先安装好Vim和Vim的基本插件.这些使用apt-get安装即可:lingd@ubuntu:~/arm$sudo apt-get instal ...

  4. 我的vim配置

    之前都在虚拟机下面捣鼓Linux,有种隔靴搔痒的感觉.为了更快地熟悉Linux系统,重新安装了Ubuntu,首先就是配置vim. 下面是我的vim配置,为了方便,我在代码后添加注释说明. 1.配置C/ ...

  5. Vim配置及使用技巧

    要说Linux下比较好用的文本编辑器,我推荐vim(当然很多人都用emacs,可我没用过),用vim也有一年左右,有些心得体会想与诸位分享.在我的学习过程中,借鉴了不少优秀的博客,其中有csdn大神n ...

  6. vim配置之taglist插件安装

    上次说了不带插件的vim配置,今天补充两个,来日方长,不定期更新: 首先看一个路径: 下载ctags,将其中的ctags.exe复制到上边目录下边: 地址:https://sourceforge.ne ...

  7. 简单实用而不追求时髦的 Vim 配置

    前言 由于 Vim 的广泛流行,在网络上关于 Vim 的自定义配置汗牛充栋.既有高手 Tim Pope 的极简配置 tpope/vim-sensible(这个配置一个插件都没有),也有 spf13/s ...

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

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

  9. mac系统终端的color scheme配置和vim配置

    一.配置终端 solarized http://ethanschoonover.com/solarized 简单配置脚本: #!/bin/sh git clone git://github.com/a ...

随机推荐

  1. 文字相对于 div 垂直居中

    通用方法 height  跟line-height div{ border: 1px solid black; text-align: left; height: 200px; line-height ...

  2. 深入理解python中可迭代对象,迭代器,生成器

    英文原文出处:Iterables vs. Iterators vs. Generators 在python学习中,通常会陷入对以下几个相关概念之间的确切差异的困惑中: a container(容器) ...

  3. C# 真正完美的 汉字转拼音

    网上有很多说自己整理的汉字转拼音是完美的,但使用后才发现都是半吊的瓶子,问题多多. 常见的生僻字,或多音字识别,转换后简直让人感觉可怕. 主流的转换有三种:hash匹配,Npinyin,微软PinYi ...

  4. ComicEnhancerPro 系列教程十七:二值化图像去毛刺

    作者:马健邮箱:stronghorse_mj@hotmail.com 主页:http://www.comicer.com/stronghorse/ 发布:2017.07.23 教程十七:二值化图像去毛 ...

  5. C# winform使用cefsharp

    注意事项写在开头: 一)cef要求.Net FrameWork框架最少为4.5.2,所以咱们在创建工程的时候注意 二)cef不支持anycpu平台 第一步: 新建工程  第二步 添加cef nuget ...

  6. html5 video微信浏览器视频不能自动播放

    html5 video微信浏览器视频不能自动播放 一.微信浏览器(x5内核): 1.不能自动播放 2.全屏 3.最顶层(z层的最顶层) 二.ios系统解决方案:(无phone手机未测试) <au ...

  7. Xcode面板的使用

    1.调出打包输出管理界面Xcode->Window->Organizer

  8. 使用github和hexo搭建静态博客

    获得更多资料欢迎进入我的网站或者 csdn或者博客园 终于写这篇文章了,这是我使用github和hexo搭建博客的一些心得,希望能给大家一点帮助.少走点弯路.刚接触github,只是用来存项目的版本, ...

  9. 对IOC的理解

    我觉得 IOC 主要分两块去理解,  第一块 IOC是干什么的, 为什么需要IOC ?; 第二块,IOC 这么好,该怎么用? 一: 为什么需要IOC? 回答这个问题就要从ioc的含义入手:  IOC ...

  10. Cboard 实现看板里面图表仪表盘之间的联动

    首先要了解Cboard的概念, 1.看板 2.图表 看Cborad的菜单知道了,首先先设计图表,可以展现未柱状图或者其它图片形式或者数据表格式.然后看板可以由多个图表组合而成. 需求如下: 看板包含两 ...