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 ...
随机推荐
- [转]用android LinearLayout和RelativeLayout实现精确布局
先明确几个概念的区别: padding margin都是边距的含义,关键问题得明白是什么相对什么的边距. padding是控件的内容相对控件的边缘的边距. margin是控件边缘相对父控件的边距. a ...
- dos命令创建安卓签名
1.dos下进入到jdk安装目录的bin目录, 如:C:\Program Files\Java\jdk1.7.0_79\bin 2.输入命令格式如: keytool -genkey -alias aa ...
- java 线程安全
要认识java线程安全,必须了解两个主要的点:java的内存模型,java的线程同步机制.特别是内存模型,java的线程同步机制很大程度上都是基于内存模型而设定的. 浅谈java内存模型: 不同的平台 ...
- HDU - 5276 YJC tricks time
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5276 Sample Input 99000 0 Sample Output 00:01:30 ...
- jquery控制audio的播放与暂停
<audio id="audio" src='music.mp3'></audio> <script type="type/javascri ...
- zf-中间库(xzfw_xzjc_jianshi)
比如说 xzfw_xzjc_jianshi 就是 建始的 一个中间库 这个(zwfw)是有个触发器,将数据交换到中间库xzfw_xzjc_jianshi 这个中间库 老版本没有交换工具,将数据交换到监 ...
- php的表单安全处理
规则 1:绝不要信任外部数据或输入 关于 Web 应用程序安全性,必须认识到的第一件事是不应该信任外部数据.外部数据(outside data) 包括不是由程序员在 PHP 代码中直接输入的任何数据. ...
- CentOS查询 杀死进程
ps aux | grep XXX 查询进程 ps a 显示现行终端机下的所有程序,包括其他用户的程序. ps -A 显示所有程序. ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参 ...
- wind10系统 Atheros AR9271 Wireless Network Adapter USBwifi无线网卡的驱动安装解决无法搜索wifi信号,连接wifi信号无法上网的问题
一.解决无法搜索wifi信号的问题 卸载掉之前的驱动,上网下载其他的驱动程序安装. http://drivers.mydrivers.com/drivers/463_185289.htm 二.安装完后 ...
- zencart里常用 SQL
1.如何替换某个字段的一些字符 如我把products表的products_image字段中包含2011的字符替换成Zencart2012update `products` set `products ...