您的位置:首页 > 运维架构 > Linux

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 的效果图



红色框中为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 C-C++ IDE