"=============================================================
"=============================================================
"
" 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. java8之流的基本使用(二)

    概述 流(stream())是java8的一个新特性,主要的作用就是将各种类型的集合转换为流,然后的方便迭代数据用的.例如: //将List类型的集合转换为流 list.stream() 转换为流之后 ...

  2. 【C#】MVC+EF+LINQ 综合小项目

    第一,创建数据库 create table category(id int primary key,name nvarchar(20)) create table news(id int primar ...

  3. 类型转换构造函数 及使用explicit避免类型自动转换------新标准c++程序设计

    类型转换构造函数:  除复制构造函数外,只有一个参数的构造函数一般可以称作类型转换构造函数,因为这样的构造函数能起到类型自动转换的作用.例如下面的程序: #include<iostream> ...

  4. C# 接口(2)

    接口的实现方式. 接口的实现分两种: 1 显示实现接口 2 实现接口. 我们前面所得的接口的实现均为实现接口.也就是第二种方式.那么我们来来看第第一种实现方式: interface IHuman { ...

  5. day01.1-Python编译器的安装

    一. 在Windows环境中安装Python编译器     1. 访问Python官网https://www.python.org,下载适用于Windows环境的相关编译器版本: 2. 点击Pytho ...

  6. map/fileter

    一.生成器,generator,节省内存,但是增加了CPU的计算时间 (下节课讲函数怎么变成生成器) 每次循环的时候,就按照这个规则(自己定义的逻辑)去生成一个数据. res = [ 'a','1' ...

  7. CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)环境【转载】

    本文转载自 园友David_Tang的博客,如有侵权请联系本人及时删除,原文地址: http://www.cnblogs.com/mchina/archive/2012/11/28/2778779.h ...

  8. luoguP4172 [WC2006]水管局长

    https://www.luogu.org/problemnew/show/P4172 考虑倒序处理所有操作 先把不会被删掉的边加入图中,LCT 维护最小生成树,再倒序插入每一条边,如果边的 ( l, ...

  9. JDBC_事务概念_ACID特点_隔离级别_提交commit_回滚rollback

    事务的概念 一组要么同时执行成功,要么同时执行失败的SQL语句,是数据库操作的一个执行单元! 事务开始于: 连接到数据库上,并执行一条DML语句(insert,update或delete),前一个事务 ...

  10. JDBC_批处理Batch_插入2万条数据的测试

    批处理   Batch 对于大量的批处理,建议使用Statement,因为PreparedStatement的预编译空间有限,当数据特别大时,会发生异常. import java.sql.Connec ...