vi c++ ide环境搭建

let g:clang_complete_copen=1
let g:clang_use_library =1
let g:clang_complete_copen=1  
let g:clang_periodic_quickfix=1  
let g:clang_snippets=1  
let g:clang_close_preview=1  
let g:clang_use_library=1                                
let g:neocomplcache_enable_at_startup = 1  
"vim配置
set number
"缩进
"set autoindent
set cindent
"set smartindent

set ruler 
set tabstop=4
set nobackup
set clipboard+=unnamed
set mouse=a
set undolevels=5000
syntax enable
syntax on
"tags 配置
set tags+=/home/jackstehpie/code/tags/tags
set tags+=/usr/include/tags
set tags+=/usr/include/c++/tags 
"tags setting 
"--ctags setting--
" 按下F5重新生成tag文件,并更新taglist
map <F5> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR><CR> :TlistUpdate<CR>
imap <F5> <ESC>:!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR><CR> :TlistUpdate<CR>
set tags=tags
set tags+=./tags "add current directory's generated tags file
"set tags+=~/arm/linux-2.6.24.7/tags "add new tags file(刚刚生成tags的路径,在ctags -R 生成tags文件后,不要将tags移动到别的目录,否则ctrl+]时,会提示找不到源码文件)\

"-- Taglist setting --
let Tlist_Ctags_Cmd='ctags' "因为我们放在环境变量里,所以可以直接执行
let Tlist_Use_Right_Window=1 "让窗口显示在右边,0的话就是显示在左边
let Tlist_Show_One_File=0 "让taglist可以同时展示多个文件的函数列表
let Tlist_File_Fold_Auto_Close=1 "非当前文件,函数列表折叠隐藏
let Tlist_Exit_OnlyWindow=1 "当taglist是最后一个分割窗口时,自动推出vim
"是否一直处理tags.1:处理;0:不处理
let Tlist_Process_File_Always=1 "实时更新tags
let Tlist_Inc_Winwidth=0
let Tlist_Show_One_File=1    "只显示当前文件的tags
let Tlist_WinWidth=20        "设置taglist宽度

"-- Cscope setting --
if has("cscope")
    set csprg=/usr/bin/cscope        " 指定用来执行cscope的命令
    set csto=0                        " 设置cstag命令查找次序:0先找cscope数据库再找标签文件;1先找标签文件再找cscope数据库
    set cst                            " 同时搜索cscope数据库和标签文件
    set cscopequickfix=s-,c-,d-,i-,t-,e-    " 使用QuickFix窗口来显示cscope查找结果
    set nocsverb
    if filereadable("cscope.out")    " 若当前目录下存在cscope数据库,添加该数据库到vim
        cs add cscope.out
    elseif $CSCOPE_DB != ""            " 否则只要环境变量CSCOPE_DB不为空,则添加其指定的数据库到vim
        cs add $CSCOPE_DB
    endif
    set csverb
endif
map <F4> :cs add ./cscope.out .<CR><CR><CR> :cs reset<CR>
imap <F4> <ESC>:cs add ./cscope.out .<CR><CR><CR> :cs reset<CR>
" 将:cs find c等Cscope查找命令映射为<C-_>c等快捷键(按法是先按Ctrl+Shift+-, 然后很快再按下c)
nmap <C-_>s :cs find s <C-R>=expand("<cword>")<CR><CR> :copen<CR><CR>
nmap <C-_>g :cs find g <C-R>=expand("<cword>")<CR><CR>

nmap <C-_>d :cs find d <C-R>=expand("<cword>")<CR><CR> :copen<CR><CR>
nmap <C-_>t :cs find t <C-R>=expand("<cword>")<CR><CR> :copen<CR><CR>
nmap <C-_>e :cs find e <C-R>=expand("<cword>")<CR><CR> :copen<CR><CR>
nmap <C-_>f :cs find f <C-R>=expand("<cfile>")<CR><CR>
nmap <C-_>i :cs find i <C-R>=expand("<cfile>")<CR><CR> :copen<CR><CR>
"-- WinManager setting --
let g:winManagerWindowLayout='FileExplorer|TagList' " 设置我们要管理的插件
let g:persistentBehaviour=0 " 如果所有编辑文件都关闭了,退出vim
nmap wm :WMToggle<cr> 


"minbufexpl.vim setting
let g:miniBufExplMapWindowNavVim = 1 "按下Ctrl+h/j/k/l,可以切换到当前窗口的上下左右窗口
let g:miniBufExplMapWindowNavArrows = 1 "按下Ctrl+箭头,可以切换到当前窗口的上下左右窗口
let g:miniBufExplMapCTabSwitchBufs = 1 "启用以下两个功能:Ctrl+tab移到下一个buffer并在当前窗口打开;Ctrl+Shift+tab移到上一个buffer并在当前窗口打开;ubuntu好像不支持
let g:miniBufExplModSelTarget = 1 " 不要在不可编辑内容的窗口(如TagList窗口)中打开选中的buffer

"--fold setting--
set foldmethod=syntax " 用语法高亮来定义折叠
set foldlevel=10 " 启动vim时不要自动折叠代码
set foldcolumn=5 " 设置折叠栏宽度

"-- QuickFix setting --
" 按下F6,执行make clean
map <F7> :make clean<CR><CR><CR>
" 按下F7,执行make编译程序,并打开quickfix窗口,显示编译信息
map <F6> :make<CR><CR><CR> :copen<CR><CR>
" 按下F8,光标移到上一个错误所在的行
map <F9> :cp<CR>
" 按下F9,光标移到下一个错误所在的行
map <F8> :cn<CR>
" 以上的映射是使上面的快捷键在插入模式下也能用
imap <F6> <ESC>:make<CR><CR><CR>
imap <F7> <ESC>:make clean<CR><CR><CR> :copen<CR><CR>
imap <F8> <ESC>:cn<CR>
imap <F9> <ESC>:cp<CR>

 

新系统unbuntu配置如下

cr+alt+T 启动console cr+shift+t 打开console多个窗口

1 安装或者更新vi 

sudo apt-get install vi

2安装python,一般都会自带python,clang_complete需要pyton库支持

3 install clang

sudo apt-get install clang

 4 install ctags

sudo apt-get install

可能会有些错误提示auto_remove一些插件,按照提示remove之后重新安装.

5 为vi库函数跳转,跟库函数或者类的成员自动匹配

下载cpp_src,支持STL补全:http://www.vim.org/scripts/script.php?script_id=2358
解压后复制到/usr/include/c++中,然后使用ctags生成tags文件:
sudo ctags -R --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ . (后面有个. ,表示当前目录)
然后退到include文件夹中 

生成tags:
sudo ctags -R .
然后在 .vimrc文件中加入
set tags+=/usr/include/tags
set tags+=/usr/include/c++/tags

6 自动补齐工具 clang_complete,最好下载安装版clang_complete.vmb文件自己安装,官网已经编译好(clang_complete.vim)的直接复制到.vim目录可能会有问题

vim clang_complete.vmb -c 'so %' -c 'q'

会自动生成clang_complete.vim和doc帮助文档到$(HOME)/.vim的相应plugin跟doc文件夹


clang_comeplete插件相对omnicomplete好多了,这两个插件不能兼容,注意安装的时候删除后者,如果有此

vi .vim.rc

let g:clang_complete_auto=1
let g:clang_complete_copen=1
let g:clang_periodic_quickfix=0
let g:clang_snippets=1
let g:clang_close_preview=1
let g:clang_user_options='-IIncludePath'
let g:clang_complete_macros=1
let g:clang_hl_errors=1
let g:clang_complete_patterns=1

7 TAB自动补齐插件 supertab
下载:http://www.vim.org/scripts/script.php?script_id=1643
安装:
1.)Download supertab.vmb to any directory.
2.)Open the file in vim ($ vim supertab.vmb).
3.)Source the file (:so %).let g:clang_complete_auto=1

8 管理vim插件——vim-addons
我们在sudo apt-get install vim vim-scripts vim-doc时,一般会自动安装上vim-addons。若未安装可通过sudo apt-get install vim-addon-manager手动安装。安装完成后,就可以用vim-addons管理在vim配置文件/home/user/.vimrc中加入如下的配置:

# 系统中已有的vim-scripts中包含的插件及其状态:

9 install Taglist(Tlist)

sudo apt-get install taglist


vi .vimrc配置


  1. "-- Taglist setting --
  2. let Tlist_Ctags_Cmd='ctags' "因为我们放在环境变量里,所以可以直接执行
  3. let Tlist_Use_Right_Window=1 "让窗口显示在右边,0的话就是显示在左边
  4. let Tlist_Show_One_File=0 "让taglist可以同时展示多个文件的函数列表
  5. let Tlist_File_Fold_Auto_Close=1 "非当前文件,函数列表折叠隐藏
  6. let Tlist_Exit_OnlyWindow=1 "当taglist是最后一个分割窗口时,自动推出vim
  7. "是否一直处理tags.1:处理;0:不处理
  8. let Tlist_Process_File_Always=1 "实时更新tags
  9. let Tlist_Inc_Winwidth=0
进入vim后用命令":Tlist"打开/关闭taglist窗口
帮助文档
:help taglist.txt


10 安装函数自动提示功能

  
1)库函数不能自动 提示,可以把光标放在此函数位置,然后shift+k,自动跳转到help文档

2)安装echofunc,提示自己写的函数比如自定义sprintf(int),在.vimrc里设置好生成tags路径后在相应目录

到此基本满足基本功能

然后vi 1.cpp输入:Tlist进入Tlist模式即可开始编辑或者查看代码

ctrl+] 跳转 ctrl+T(O)跳回

当用自己定义的函数时亦可提醒函数原型


11安装winmanager管理文件和buffer管理器MiniBufferExplorer浏览管理buffer 

....


12、quickfix命令集
通过quickfix命令集,你可在 Vim 内编译程序并直接跳转到出错位置进行修正。你可以接着重新编译并做修正,直到不再出错为止。

..


13 安装project 现实项目目录数

...


14 install cscope

..


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值