YouCompletMe支持golang

cd .vim/bundle/YouCompleteMe

./install.sh --clang-completer --go-completer

clang-format 支持谷歌代码风格

clang-format --dump-config -style=Google >> ~/.clang-format

.vimrc

" Common config {

" 设置行号
set number " 不生成备份文件
set nobackup " 不创建临时交换文件
set noswapfile " 右下角显示光标位置
set ruler " 查找不区分大小写
set ignorecase " 查找高亮
set hlsearch " 启用256色
set t_Co= " 不兼容VI
set nocompatible " 设置保存历史(命令, 查找模式的历史
set history= " 右下角显示未完成的命令
set showcmd " 再输入部分查找模式时显示相应的匹配点
set incsearch " 使用UTF-8编码
set encoding=utf- " 使用鼠标
" set mouse=a " 显示TAB键
" set list " 自动保存
" set autowrite " 设置n个字自动换行
" set textwidth=n " } " Beautify-Powerline { set rtp+=/usr/local/lib/python2./dist-packages/powerline/bindings/vim/
set laststatus= " } " Plugin Management { filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'Valloric/YouCompleteMe' " 自动补全
Plugin 'scrooloose/nerdtree' " 目录树
Plugin 'scrooloose/nerdcommenter' " 注释
Plugin 'scrooloose/syntastic' " code detection
Plugin 'fatih/vim-go' " vim-go
Plugin 'rhysd/vim-clang-format' " 格式化代码
Plugin 'ludovicchabant/vim-gutentags' " auto ctags
call vundle#end() " Colorscheme { " 语法高亮
syntax on " 文件类型带上颜色
syntax enable " 文件类型探测 使用缩进文件
filetype plugin indent on " 设置背景色
set background=dark " 设置主题
colorscheme tomorrow-night " } " YCM { " 寻找全局配置文件
let g:ycm_global_ycm_extra_conf = '/home/${USER}/.vim/bundle/YouCompleteMe/third_party/ycmd/.ycm_extra_conf.py'
let g:ycm_seed_identifiers_with_syntax = " 语法关键字补全
set completeopt-=preview " 关闭预览
let g:ycm_enable_diagnostic_signs = " 关闭错误检测
let g:ycm_enable_diagnostic_highlighting = " 关闭错误检测高亮 " } " TagList { map <F3> :TlistToggle<CR>
let Tlist_Show_One_File= " 只显示当前文件的tags
let Tlist_WinWidth= " 设置taglist宽度
let Tlist_Exit_OnlyWindow= " tagList窗口是最后一个窗口,则退出Vim
let Tlist_Use_Right_Window= " 在Vim窗口右侧显示taglist窗口 " } " NERDTree { map <F4> :NERDTreeToggle<CR> "设置NERDTree的宽度
let NERDTreeWinSize=
" } " nerdcommenter { " 注释的时候自动加个空格, 强迫症必配
let mapleader=","
let g:NERDSpaceDelims=
map <C-m> ,c<space> " } " Compile { map <F6> :call CR()<CR>
func! CR()
exec "w"
exec "!g++ % -std=c++11 -o %<"
exec "! ./%<"
endfunc " } " Code Style { autocmd FileType cpp,c exec ":call SetCppFileConfig()"
autocmd FileType go,bash,python,java,html,javascipt,vim,sh exec ":call SetCommonFileConfig()" func SetCppFileConfig()
" 设置tab为2个空格
set tabstop= " 设置缩进为2个空格
set shiftwidth= " 用space替代tab的输入
set expandtab " 谷歌C++代码风格检测
let g:clang_format#command = 'clang-format'
nmap <F7> :ClangFormat<cr>
autocmd FileType c ClangFormatAutoEnable
let g:clang_format#detect_style_file = " ctags补全结构体
set completeopt=longest,menu endfunc func SetCommonFileConfig()
" 设置tab为4个空格
set tabstop= " 设置缩进为4个空格
set shiftwidth= " 用space替代tab的输入
set expandtab endfunc " }

个人vim配置的更多相关文章

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

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

  2. 简单快捷好用的vim配置和终端配置推荐

    vim 配置实用spf13-vim,安装方便简单快捷,极力推荐. 另外oh-my-zsh 终端配置很好,与之搭配使用效果更佳. 安装都很简单,一个脚本搞定, 都是在gitHub上开源的,自行搜索,这里 ...

  3. 快速学习C语言三: 开发环境, VIM配置, TCP基础,Linux开发基础,Socket开发基础

    上次学了一些C开发相关的工具,这次再配置一下VIM,让开发过程更爽一些. 另外再学一些linux下网络开发的基础,好多人学C也是为了做网络开发. 开发环境 首先得有个Linux环境,有时候家里机器是W ...

  4. centos vim配置高亮语法和格式化粘贴

    centos vim配置高亮语法和格式化粘贴 设置vim别名和高亮grep词语 echo -e "\nalias vi=vim\nalias grep='grep --color'\n&qu ...

  5. vim配置方法

    /etc/vimrc (公共的) ~/.vimrc (私人的) rpm -qa|grep vim 这个命令,如何vim已经正确安装,则会显示上面三个包的名称 全部安装 yum -y install v ...

  6. VIM配置相关记录

    把一直使用中的vim配置做个GIT入库管理,也把之前积累在机器上的文档,做个汇总. https://github.com/wujuguang/kyvim 1. 安装完整版vim vi和vim的区别?在 ...

  7. Vim配置及说明——IDE编程环境

    Vim配置及说明——IDE编程环境 Vim配置及说明——IDE编程环境 1.基本及字体 2.插件管理 3.主题风格 4.窗口设置 5.目录树导航 6.标签导航 7.taglist 8.多文档编辑 9. ...

  8. Env:VIM配置

    注:文章来自于http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html 花了很长时间整理的,感觉用起来很方便,共享一下. 我的vim配 ...

  9. vim配置python开发环境

    vim配置python开发环境 一.安装vim sudo apt-get install vim 二.vim基础配置 #Centos6.5 /usr/share/vim/vim72 vi /etc/v ...

  10. Vim配置IDE开发环境

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

随机推荐

  1. 一分钟了解spark的调优

    Tuning Spark 数据序列化 内存调优 内存管理概述 确定内存消耗 调整数据结构 序列化 RDD 存储 垃圾收集调整 其他注意事项 并行度水平 减少任务的内存使用 广播大的变量 数据本地化 概 ...

  2. Unbuntu安装RVM

    apt-get install curl #安装rvm curl -L https://get.rvm.io | bash #执行启动 source /home/mafei/.rvm/scripts/ ...

  3. Android7.0 应用内升级

    Android7.0应用内升级 最近线上项目在7.0机器上出现应用内升级失败,原来是由于Android7.0权限问题导致. 如果项目的 targetSdkVersion>=24 在处理应用内升级 ...

  4. 一步一步学习JNI

    本文来自网易云社区 作者:孙有军 前言 本篇的主要目的就是JNI开发入门,使大家对JNI开发流程有一个大致的了解,后续再进行深入学习. JNI不是Android特有的,JNI是Java Native ...

  5. Python-S9——Day82-CRM项目实战

    1.权限的概念: 2.RBAC的设计: 3.注册登录用户所有权限到session中: 4.权限的校验: 5.基于中间件的权限校验: 1.权限的概念: 1.1 项目与应用: Project App 1. ...

  6. [CF106C]Buns

    面包师Lavrenty打算用馅料做几个面包,然后把它们卖掉. Lavrenty有\(n\)克面团和\(m\)种不同的馅料.馅料种类的下标从\(1到m\),他知道他的第\(i\)种馅料剩下\(a_i\) ...

  7. Java学习 · 初识 面向对象基础一

    面向对象基础 1.1面向过程与面向对象的区别 面向过程和面向对象二者都是思考问题的方式,再简单的事物时,可以线性思考时使用面向过程,但当事物较为复杂时,只能使用面向对象设计.但二者并不是对立的,在解决 ...

  8. mysql 主从配置笔记

    1.master配置 server-id=1 log-bin=mysql-bin binlog-do-db=testdata binlog-ignore-db=mysql 2.master增加用户 g ...

  9. 352[LeetCode] Data Stream as Disjoint Intervals

    Given a data stream input of non-negative integers a1, a2, ..., an, ..., summarize the numbers seen ...

  10. 2019寒假训练营寒假作业(二) MOOC的网络空间安全概论笔记部分

    视频课程--MOOC的网络空间安全概论笔记 第一章 网络空间安全概述 2001年,网络空间概念被首次提出: 网络空间安全框架: 1.设备层安全: 可通过截获电磁辐射获取计算机信息.通过硬件木马(恶意电 ...