Linux下VIM C/C++ IDE配置
2015-10-02 00:42
633 查看
Linux下VIM C/C++ IDE配置
vim IDE环境安装
在用户目录下建立 ~/.vim/autoload ~/.vim/bundle 两个文件夹,并下载pathogen.vim放到 ~/.vim/autoload 下mkdir -p ~/.vim/autoload ~/.vim/bundle wget -O ~/.vim/autoload/pathogen.vim https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim
切换到 ~/.vim/bundle 下
cd ~/.vim/bundle
安装资源管理器插件nerdtree
git clone https://github.com/scrooloose/nerdtree.git
安装程序类、函数视图tagbar
git clone https://github.com/majutsushi/tagbar.git
安装底部详细状态栏
git clone https://github.com/bling/vim-airline.git
安装颜色方案插件molokai
git clone https://github.com/tomasr/molokai.git cp -r molokai/colors/ ~/.vim/
安装C/C++插件cvim
wget -O ~/.vim/cvim.zip http://www.vim.org/scripts/download_script.php?src_id=9679 unzip ~/.vim/cvim.zip
配置vim,如果要所有用户都使用上面的插件,直接在 /etc/vimrc 后添加下面内容,如果只想特定用户使用,在用户的家目录下编辑文件 .vimrc,将下面内容加入 .vimrc 中
建议在用户家目录中编辑 .vimrc
"字符编码 "vim编码设置为utf-8,支持中文输入 set fileencodings=utf-8,gb2312,gb18030,gbk,ucs-bom,cp936,latin1 set encoding=utf-8 set langmenu=zh_CN.utf-8 "语法和缩进 "设定vim与vi不兼容 set nocompatible "自动缩进,即为新行自动添加与当前行同等的缩进 set autoindent "类似C语言程序的缩进 set cindent set showmatch "检索时忽略大小写 set ignorecase set hlsearch "显示行号 set nu filetype plugin indent on "tab相关设置 "开启时,在行首按TAB将加入shiftwidth个空格,否则加入tabstop个空格。 set smarttab "是将输入的TAB自动展开成空格。开启后要输入TAB,需要Ctrl-V<TAB> set expandtab set tabstop=4 "设定 << 和 >> 命令移动时的宽度为 4 set shiftwidth=4 "颜色方案 set t_Co=256 "使用molokai 配色方案 colorscheme molokai "为光标所在行加下划线,molokai配色下为高亮一行 set cursorline "语法高亮 syntax on "插件设置 "pathogen settings "启用pathogen进行插件管理 execute pathogen#infect() "tagbar settings "ctrl+t to open tarbar nmap <C-T> :TagbarToggle<CR> let g:tagbar_width = 20 "auto run tagbar when use vim "autocmd VimEnter * nested :call tagbar#autoopen(1) "tagbar window postion let g:tagbar_right = 1 "let g:tagbar_left = 1 "nerdtree settings "ctrl+n to open nerdtree nmap <C-N> :NERDTree<CR> "nerdtree window position 'left' or 'right' let NERDTreeWinPos = 'left' "nerdtree window Size let NERDTreeWinSize = 30 let NERDTreeShowFiles = 1 "airline setting "开启airline set laststatus=2 "不检测行尾空格,trailing-white-space let g:airline#extensions#whitespace#enabled = 0 "使用tab打开文件 "let g:airline#extensions#tabline#enabled = 1 "let g:airline#extensions#tabline#left_sep = ' ' "let g:airline#extensions#tabline#left_alt_sep = '|' "Code folding "set foldmethod=syntax "代码块折叠 autocmd FileType python set foldmethod=indent "autocmd FileType xml set foldmethod=indent "autocmd FileType dia set foldmethod=indent "command Model map for go "go 语言快捷键支持 "gd 快速打开:GoDef,GoDef支持代码内跳转到指定函数 "gr 快速执行:GoRun , 运行go程序 au FileType go cnoremap gd :GoDef<CR> au FileType go cnoremap gr :GoRun<CR> let g:go_fmt_command = "goimports"
vim IDE环境效果
以上配置文件,默认资源管理器插件和安装程序类、函数视图都是关闭状态,可使用Ctrl+T:打开或关闭TagBar
Ctrl+N:打开或关闭资源管理器nerdtree
以下是打开 TagBar 和 nerdtree 的效果图
![](http://i.imgur.com/GNLb1Hk.png)
红色框中为nerdtree
绿色框为文件编辑区域
蓝色框为tagbar
黄色框为vim-airline
nerdtree操作
? 查看帮助Ctrl+w+l 切到后面一个窗口,这种方式切换到最后一个窗口后就不能再向后切换了
Ctrl+w+h 切到前面一个窗口,这种方式切换到最前一个窗口后就不能再向前切换了
Ctrl+w+w 切到后面一个窗口,这种方式切换到最后一个窗口后,再次切换会跳到第一个窗口
其它对资源管理器的操作使用 ? 查看具体使用方式
当光标定位到左侧资源管理器中时,可使用/,在资源管理器中使用模式搜索文件
tagbar操作
? 查看帮助选中某个标签后,使用回车,可以直接定位到该标签
选中某个折叠标签组后,使用 + 可以展开该标签的所有标签,使用 - 可以折叠该标签组的所有标签
使用 s 可以对每个标签组进行排序
C语言编辑
关于cvim插件的使用,可以参考cvim安装及使用
cvim支持创建一个 C 文件,直接加入文件头模板,如下:
/* * ===================================================================================== * * Filename: main.c * * Description: * * Version: 1.0 * Created: 2015年09月23日 17时36分27秒 * Revision: none * Compiler: gcc * * Author: Dr. Fritz Mehner (mn), mehner@fh-swf.de * Company: FH Südwestfalen, Iserlohn * * ===================================================================================== */
该模板可以通过编辑 ~/.vim/c-support/templates/Templates 模板进行设置
另外还有一些创建 C/C++ 语句,函数的方式:
\if 在当前位置插入一个自定义函数
\im 在当前位置插入main函数
\cfu 给函数创建一个注释
\cfr 插入一个注释段
\p< 插入 #include <>
具体快捷键可参考cvim包的 c-support/doc/c-hotkeys.pdf 文档
相关文章推荐
- VIM编译器显示TAB和TAB转换为空格
- 菜鸟说给菜鸟听之VIM--入门篇(1)
- cygwin下vim方向键不好用的解决方案
- 安装使用Ubuntu之vim必须知道的细节
- Ruby学习笔记二帮助生成Vim添加代码头的代码
- C# IDE VS2005中的Hosting Process (vshost.exe)作用介绍
- ruby开发vim插件小结
- 分享18个最佳代码编辑器/IDE开发工具
- VIM中设置php自动缩进为4个空格的方法详解
- PHP IDE PHPStorm配置支持友好Laravel代码提示方法
- Vim命令高级用法
- linux Vim基本操作方法
- 推荐5款跨平台的PHP编辑器
- Android开发的IDE、ADT、SDK、JDK、NDK等名词解释
- 使用python开发vim插件及心得分享
- linux系统中使用Vim删除偶数行或者奇数行
- Mac 配置VIM插件 提示"E492:Not an editor command:^M"
- 使用Jedit建立IDE图文教程
- Notepad++配置C/C++IDE(详细)
- vim配置文件