Vim配置C++
当前用户的Vim配置便存储在文件 ~/.vimrc 中,该文件的每一行便是一个配置项
设置自动换行,在配置文件中加入如下代码:
syntax on
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
set autoindent
set cindent
set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s
set nu
set ruler
ps: set nonu 就是不显示行号
Vundle
参考:http://zuyunfei.com/2013/04/12/killer-plugin-of-vim-vundle/
下载vundle:
git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
在.vimrc 中添加:
set nocompatible " be iMproved
filetype off " required!
set rtp+=~/.vim/bundle/vundle/
call vundle#rc() " let Vundle manage Vundle
Bundle 'gmarik/vundle' "my Bundle here:
"
" original repos on github
Bundle 'kien/ctrlp.vim'
Bundle 'sukima/xmledit'
Bundle 'sjl/gundo.vim'
Bundle 'jiangmiao/auto-pairs'
Bundle 'klen/python-mode'
Bundle 'Valloric/ListToggle'
Bundle 'SirVer/ultisnips'
Bundle 'Valloric/YouCompleteMe'
Bundle 'scrooloose/syntastic'
Bundle 't9md/vim-quickhl'
" Bundle 'Lokaltog/vim-powerline'
Bundle 'scrooloose/nerdcommenter'
"..................................
" vim-scripts repos
Bundle 'YankRing.vim'
Bundle 'vcscommand.vim'
Bundle 'ShowPairs'
Bundle 'SudoEdit.vim'
Bundle 'EasyGrep'
Bundle 'VOoM'
Bundle 'VimIM'
"..................................
" non github repos
" Bundle 'git://git.wincent.com/command-t.git'
"......................................
filetype plugin indent on
安装:vim +BundleInstall +qall
等把插件都安装完,我等了很久,有些要翻出去才能装完
YouCompleteMe
参考:http://valloric.github.io/YouCompleteMe/#ubuntu-linux-x64
装完上面的插件后,打开一个cpp文件,vim提示YouCompleteMe unavailable:…… 什么的,这个时候
cd ~/.vim/bundle/YouCompleteMe
./install.py
这个时候可能会提示没有哪个module什么的,而且出现了下面这条语句,恩,执行之
git submodule update --init --recursive
遇到了这个:
fatal: Needed a single revision 无法在子模组路径 'third_party/ycmd/third_party/OmniSharpServer' 中找到当前版本
这个时候删除掉那个文件夹即可
等了很久,翻出去才全部下载完
然后再执行
./install.py
出现如下错误:
pyconfig.h: 没有那个文件或目录
找到了这个网址:https://github.com/okfn/piati/issues/65
执行 sudo apt-get install python-dev libxml2-dev libxslt-dev
完成后再尝试
./install.py
终于可以正常安装了,等它安装完,这个时候再打开一个cpp,会出现代码补全提示了,差不多算是搞定了?
关闭预览,草稿
安装完这一波插件,会自动补全了,但是会出现很恶心的预览,草稿啥的乱七八糟的占据屏幕上方一大截。
这个时候就要用 :set completeopt=menu ,记得写在vimrc中
注释
如果上面的vundle中的插件都装成功了的话,nerdcommenter就是用来注释的
<leader>cc 加注释
<leader>cu 解开注释 <leader>c<space> 加上/解开注释, 智能判断
<leader>cy 先复制, 再注解(p可以进行黏贴)
这里的<leader>默认是 \ ,不过有点远 ,可以自己设置,在配置文件中加入一条 let mapleader="," 将<leader>换成" , ”
编译运行
参考:http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html
在配置文件中加入代码
map <F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
exec "w"
if &filetype == 'c'
exec "!g++ % -o %<"
exec "! ./%<"
elseif &filetype == 'cpp'
exec "!g++ % -o %<"
exec "! ./%<"
endif
endfunc
即可按F5一键编译运行,写了个hello world 能用 ,不过应该还有一些问题,以后再折腾
编译C++11
g++ -std=c++11 test.cpp
如果里面没有C++11的东西,直接g++ test.cpp 也是可以的,就会出来一个a.out的文件,然后 ./a.out 就能看到执行结果了
Vim配置C++的更多相关文章
- acm的ubuntu (ubuntu16.04 安装指南,chrome安装,vim配置,git设置和github,装QQ)
日常手贱把ubuntu14.04更新到了16.04,然后就game over了.mdzz,不然泥萌也看不到这篇博客了=.= 然后花了些时间重装了一个16.04版的,原来那个14.04的用可以用,就是动 ...
- 简单快捷好用的vim配置和终端配置推荐
vim 配置实用spf13-vim,安装方便简单快捷,极力推荐. 另外oh-my-zsh 终端配置很好,与之搭配使用效果更佳. 安装都很简单,一个脚本搞定, 都是在gitHub上开源的,自行搜索,这里 ...
- 快速学习C语言三: 开发环境, VIM配置, TCP基础,Linux开发基础,Socket开发基础
上次学了一些C开发相关的工具,这次再配置一下VIM,让开发过程更爽一些. 另外再学一些linux下网络开发的基础,好多人学C也是为了做网络开发. 开发环境 首先得有个Linux环境,有时候家里机器是W ...
- centos vim配置高亮语法和格式化粘贴
centos vim配置高亮语法和格式化粘贴 设置vim别名和高亮grep词语 echo -e "\nalias vi=vim\nalias grep='grep --color'\n&qu ...
- vim配置方法
/etc/vimrc (公共的) ~/.vimrc (私人的) rpm -qa|grep vim 这个命令,如何vim已经正确安装,则会显示上面三个包的名称 全部安装 yum -y install v ...
- VIM配置相关记录
把一直使用中的vim配置做个GIT入库管理,也把之前积累在机器上的文档,做个汇总. https://github.com/wujuguang/kyvim 1. 安装完整版vim vi和vim的区别?在 ...
- Vim配置及说明——IDE编程环境
Vim配置及说明——IDE编程环境 Vim配置及说明——IDE编程环境 1.基本及字体 2.插件管理 3.主题风格 4.窗口设置 5.目录树导航 6.标签导航 7.taglist 8.多文档编辑 9. ...
- Env:VIM配置
注:文章来自于http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html 花了很长时间整理的,感觉用起来很方便,共享一下. 我的vim配 ...
- vim配置python开发环境
vim配置python开发环境 一.安装vim sudo apt-get install vim 二.vim基础配置 #Centos6.5 /usr/share/vim/vim72 vi /etc/v ...
- Vim配置IDE开发环境
我的vim IDE界面: 1.安装Vim和Vim基本插件首先安装好Vim和Vim的基本插件.这些使用apt-get安装即可:lingd@ubuntu:~/arm$sudo apt-get instal ...
随机推荐
- Facade ——为子系统的一组接口提供一致界面
Façade模式提供了子系统一组接口的一致封装特性,如下图所示: 如图所示,OperationWrapper的实现依赖SubSystem1,2等的Operation操作.但用户调用OperationW ...
- 初识Jmeter(一)
倒霉熊的推荐: 文本学习网址:http://m.open-open.com/m/doc/category/105 视频学习网址: 软件学习网:http://www.ask3.cn/index.html ...
- TForm类有关属性简介
http://www.cnblogs.com/pchmonster/archive/2012/01/02/2310377.html
- 初探JavaScript魅力(五)
JS简易日历 innerHTML <title>无标题文档</title> <script> var neirong=['一','二','三','四','五' ...
- cocos2d-js 帧序列动画
1.resource.js var res = { playerWalk_plist:"res/playerWalk.plist", playerWalk_png:"re ...
- linux常用命令 、查看日志、web排查
linux常用命令 ps aux|grep xxx (比如 ps aux|grep tomcat ps aux|grep tomcat-portalvip ps aux|grep nginx 等) r ...
- jQuery validation
之前做客户端验证感觉自己javascript 不行,虽然能写出来一完整的验证,但从不自信,一直觉得客户端验证是比较繁琐的事情,但是又不能不做,只到最开始接触ajax ,遇到了一个jQuery vali ...
- Android SharedPreferences存图片,转码解码图片
保存图片 首先创建ByteArrayStream对象,然后用BitmapFactroy把图片加载进来,然后compress压缩图片到流, 然后toByteArray()就行了 public voi ...
- c# 如何判断字符串中相同字符串的个数 (相同字符在字符串中出现的次数)
/// <summary> /// 计算字符串中子串出现的次数 /// </summary> /// <param name="str">字符串 ...
- Java-老夫对泛型的理解。。
什么是泛型,在我看来 泛型就是能够限制类,方法,数组-变量的类型 比如说 List<String,int> list = new List<String,int> 就是有尖括 ...