当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 181 篇帖子 ]  前往页数 1, 2, 3, 4, 5 ... 13  下一页
作者 内容
1 楼 
 文章标题 : 基于 GVim 的 C/C++ IDE -- VimLite 介绍
帖子发表于 : 2011-08-24 21:10 
头像

注册: 2007-03-24 23:45
帖子: 2358
送出感谢: 0 次
接收感谢: 9
重新开一贴, 原来那贴不更新了, 主要是这个项目框架完整了, 只是完善的问题
--------------------------------------------------------------------------------

VimLite
http://www.vim.org/scripts/script.php?script_id=3647
http://code.google.com/p/vimlite/

简介
一个基于 vim 的 C/C++ IDE. 主要包括以下三个模块:
- 项目管理
- 代码补全
- 程序调试

依赖
- python
- python-lxml
- gcc
- make
- gdb
- cscope

需要 gvim 7.3, 并且 +python, +netbeans_intg 特性, 并且在 .vimrc 中至少打开以下两个选项
代码:
set nocp
filetype plugin on


ubuntu 的话, 这样安装就OK了
代码:
sudo apt-get install python python-lxml build-essential gdb cscope


安装
- 解压下载的文件.
- 把 vimlite 目录的所有文件复制到 ~/.vimlite, 如果 ~/.vimlite 目录不存在, 新建之.
- 用 vim 打开 VimLite.vba, 运行 ':so %'.

使用
请查看帮助, 在 vim 运行 ':h VimLite.txt'.

--------------------------------------------------------------------------------
下面是简单的使用介绍

1. 安装完毕后, 运行以下命令开始
代码:
:VLWorkspaceOpen

附件:
Screenshot-<DEFAULT_WORKSPACE> ==VLWorkspace== - (~) - GVIM2.png
Screenshot-<DEFAULT_WORKSPACE> ==VLWorkspace== - (~) - GVIM2.png [ 31.17 KiB | 被浏览 11943 次 ]



2.按 "." (点), 弹出菜单, 选择 "New Workspace...", 会生成一个模拟 GUI 操作的缓冲区(我喜欢这样直观的操作)
附件:
Screenshot-<DEFAULT_WORKSPACE> New Workspace - (~) - GVIM2.png
Screenshot-<DEFAULT_WORKSPACE> New Workspace - (~) - GVIM2.png [ 62.67 KiB | 被浏览 11957 次 ]



3.按 <C-x><C-s> 或者在下面的 OK 按 <CR> (鼠标左键双击也可以)就可以创建一个工作区文件了

4.按 "." (点), 弹出菜单, 选择 "Create a New Project...", 根据提示操作就行了, 建议不要选 gcc 和 g++ 以外的东西, 因为没有测试过
附件:
Screenshot-<Test> New Project - (~) - GVIM2.png
Screenshot-<Test> New Project - (~) - GVIM2.png [ 79.09 KiB | 被浏览 11943 次 ]



5.建了个最简单的 "Hello World" 项目, 现在就可以编译运行了
编译
代码:
:VLWBuildActiveProject

运行
代码:
:VLWRunActiveProject

也可以按工具栏对应的按钮

6. 代码自动补全需要先建立个数据库, 在工作区缓冲的工作区名字那里按 "." (点) 弹出菜单, 选择 "Parse Workspace (Quick)" 生成数据库,
然后写代码的时候, 需要补全的时候, 按 <C-x><C-o> 就可以补全的了.
理论上, 你每次修改了源代码或者包含了新的头文件都需要重新选择 "Parse Workspace (Quick)" 生成数据库的. 建议打开以下几个选项来一点自动化
代码:
" 保存文件时, 自动 Parse 该文件
let g:VLWorkspaceParseFileAfterSave = 1
" 与上面的选项一起工作, 仅自动 Parse 头文件, 因为符号一般在头文件定义, 源文件的实现的信息一般没什么用
" 需要强制 Parse 当前文件的话, 用 :VLWParseCurrentFile 命令
let g:VLWorkspaceNotParseSourceAfterSave = 1


反正, 什么时候感觉符号不够新的时候, 就选择 "Parse Workspace (Quick)"
附件:
Screenshot-<Test> main.c + (~-Desktop-ABCDEFG-Test-First) - GVIM2.png
Screenshot-<Test> main.c + (~-Desktop-ABCDEFG-Test-First) - GVIM2.png [ 52.38 KiB | 被浏览 11943 次 ]



7. 项目设置什么的, 直接看项目行的弹出菜单吧, 只要对 gcc 的编译参数熟悉的话, 问题很简单, 或者用自己的 makefile 也可以
附件:
Screenshot-<Test> == First ProjectSettings == - (~) - GVIM2.png
Screenshot-<Test> == First ProjectSettings == - (~) - GVIM2.png [ 74.2 KiB | 被浏览 11943 次 ]



8. 调试的集成就比较低了, 现在是凑合能用, 点工具栏对应的按钮, 先启动 pyclewn, 再设置断点, 再运行, 然后看变量什么的, 有时候需要用命令查看具体的东东的, 具体看 pyclewn 的手册吧
附件:
Screenshot.png
Screenshot.png [ 238.24 KiB | 被浏览 11939 次 ]



一般我还会用 tagbar, 所以一般的工作状态是这样
附件:
Screenshot-1.png
Screenshot-1.png [ 131.23 KiB | 被浏览 11939 次 ]



最后由 fanhe 编辑于 2011-08-24 21:55,总共编辑了 2 次


_________________
评价: 4.17% Crazier
 
页首
 用户资料  
 
2 楼 
 文章标题 : Re: 基于 GVim 的 IDE -- VimLite 介绍
帖子发表于 : 2011-08-24 21:30 
头像

注册: 2007-03-24 23:45
帖子: 2358
送出感谢: 0 次
接收感谢: 9
下面补充一些其他的
我自己对于 VimLite 的设置
代码:
let g:VLWorkspaceSaveAllBeforeBuild = 1
let g:VLCCC_ItemSelectionMode = 10 "这个选项自己用的, 不要乱用
let g:VLWorkspaceParseFileAfterSave = 1
let g:VLWorkspaceNotParseSourceAfterSave = 1
let g:VLCalltips_IndicateArgument = 0
let g:VLCalltips_EnableSyntaxTest = 0
let g:VLWDbgSaveBreakpointsInfo = 0


cscope 的使用
一般不建议自动为项目生成 cscope 数据库(需要自动生成的话, 查看帮助打开选项), 都是需要创建数据库的时候运行
代码:
:VLWInitCscopeDatabase 1


需要更新的时候, 运行
代码:
:VLWUpdateCscopeDatabase


cscope 一般的使用直接 :h cscope 就知道了, 下面的键位绑定用于利用 cscope 数据库快速切换头/源文件的
代码:
nnoremap <silent> <C-\>a :call <SID>AlterSource()<CR>

function! s:AlterSource() "{{{
    let l:file = expand("%:t:r")
    let l:ext = expand("%:t:e")
    if l:ext == "c" || l:ext == "cpp"
        try
            exec 'cs find f \<' . l:file . ".h$"
        catch
            try
                exec 'cs find f \<' . l:file . ".hpp$"
            catch
                return
            endtry
            return
        endtry
    elseif l:ext == "h" || l:ext == "hpp"
        try
            exec 'cs find f \<' . l:file . ".c$"
        catch
            try
                exec 'cs find f \<' . l:file . ".cpp$"
            catch
                return
            endtry
            return
        endtry
    endif
endf
"}}}


Calltips
基本的 Calltips 肯定是支持的, 只是 vim 没有专门用于 calltips 的显示前端设施, 只能在命令行那里显示了
主要特色是支持基本的构造函数 calltips, 默认是 <A-p> 触发, <A-j> 和 <A-k> 切换
附件:
Screenshot-<wxWidgets> main.cpp + (~-Desktop-projects-wxWidgets-JustTest) - GVIM.png
Screenshot-<wxWidgets> main.cpp + (~-Desktop-projects-wxWidgets-JustTest) - GVIM.png [ 69.6 KiB | 被浏览 11913 次 ]



Quickfix
Quick 默认就是支持的, 直接 copen 打开, 每次构建都会更新它的内容的


----------------------------------------------------------------------------------------------
简单的来说, 就是这样了, 项目需要完善的还有不少, 下面列举一些
1. Omnicpp 的多线程实现, 用于实时更新数据库和屏蔽不必要的符号
2. 调试器的易用性
3. 重写个 minibufexp, 没有打开缓冲的标签列表实在不太方便

过去了


附件:
VIMCCC_On_Windows.png
VIMCCC_On_Windows.png [ 161.67 KiB | 被浏览 10542 次 ]

VIMCCC_On_Linux.png
VIMCCC_On_Linux.png [ 255.68 KiB | 被浏览 10542 次 ]



最后由 fanhe 编辑于 2012-02-13 0:33,总共编辑了 7 次
页首
 用户资料  
 
3 楼 
 文章标题 : Re: 基于 GVim 的 IDE -- VimLite 介绍
帖子发表于 : 2011-08-24 21:39 
头像

注册: 2005-08-14 21:55
帖子: 58369
地址: 长沙
送出感谢: 4
接收感谢: 255
支持研究。
只是vim本来就不是以ide出发的。


_________________
● 鸣学


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 基于 GVim 的 IDE -- VimLite 介绍
帖子发表于 : 2011-08-24 21:49 
头像

注册: 2008-07-30 23:21
帖子: 12253
地址: 桂林市第六人民医院
系统: Debian stable AMD64
送出感谢: 35
接收感谢: 100
:em11

原来那个帖子在哪?


_________________
(2013-06-07 更新)Debian、Ubuntu 源列表说明
(2013-02-01 首发)文字如何绘出
(2013-01-25 首发)fontconfig 何物
▷▷ 【更 多 在 此】 ◁◁
箪食瓢饮随遇安,不求栋梁求参天。
【初韵】一门新的纯动态、纯对象、高阶编程语言。


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 基于 GVim 的 IDE -- VimLite 介绍
帖子发表于 : 2011-08-24 21:59 
头像

注册: 2007-03-24 23:45
帖子: 2358
送出感谢: 0 次
接收感谢: 9
eexpress 写道:
支持研究。
只是vim本来就不是以ide出发的。

IDE大而全, bram一个人的精力做不来, 而且不是所有人都喜欢这种工作方式
做成个平台让其他人来做就OK了

软件已经是一门工程了, 不是以前的刀耕火种年代了, 一个提高效率的IDE我觉得是非常必要的


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 基于 GVim 的 IDE -- VimLite 介绍
帖子发表于 : 2011-08-24 22:12 
头像

注册: 2007-03-24 23:45
帖子: 2358
送出感谢: 0 次
接收感谢: 9
自由建客 写道:
:em11

原来那个帖子在哪?

那贴不看也罢


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 基于 GVim 的 C/C++ IDE -- VimLite 介绍
帖子发表于 : 2011-09-03 16:07 

注册: 2009-06-20 23:53
帖子: 490
送出感谢: 3
接收感谢: 0 次
mark一个,我更关心补全。。。特别是glibc和c++模板。。 :em20


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 基于 GVim 的 C/C++ IDE -- VimLite 介绍
帖子发表于 : 2011-09-16 9:34 

注册: 2007-10-08 1:05
帖子: 41
送出感谢: 0 次
接收感谢: 0 次
楼主牛人,不过,我遇到了一个问题,在打开文件的时候说找不到vlutils#OpenFIle函数。。。。
是什么地方没设置对吗?
期待楼主回复~~
ubuntu11.04
gvim 7.3


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 基于 GVim 的 C/C++ IDE -- VimLite 介绍
帖子发表于 : 2011-09-16 11:46 
头像

注册: 2007-03-24 23:45
帖子: 2358
送出感谢: 0 次
接收感谢: 9
liliwang 写道:
楼主牛人,不过,我遇到了一个问题,在打开文件的时候说找不到vlutils#OpenFIle函数。。。。
是什么地方没设置对吗?
期待楼主回复~~
ubuntu11.04
gvim 7.3

正常安装了那个 VimLite.vba 了没
再检查下有没有这个文件 ~/.vim/autoload/vlutils.vim

没有的话, 到 VimLite.vba 里面提取或重装 VimLite.vba
下个版本考虑支持 pathogen, 这样管理插件更加方便


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 基于 GVim 的 C/C++ IDE -- VimLite 介绍
帖子发表于 : 2011-09-16 18:41 

注册: 2007-10-08 1:05
帖子: 41
送出感谢: 0 次
接收感谢: 0 次
fanhe 写道:
liliwang 写道:
楼主牛人,不过,我遇到了一个问题,在打开文件的时候说找不到vlutils#OpenFIle函数。。。。
是什么地方没设置对吗?
期待楼主回复~~
ubuntu11.04
gvim 7.3

正常安装了那个 VimLite.vba 了没
再检查下有没有这个文件 ~/.vim/autoload/vlutils.vim

没有的话, 到 VimLite.vba 里面提取或重装 VimLite.vba
下个版本考虑支持 pathogen, 这样管理插件更加方便


正常按准个了VimLite
在~/.vim/autoload/也有vlutils.vim这个文件
很奇怪啊,楼主没遇到吗? :em06


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 基于 GVim 的 C/C++ IDE -- VimLite 介绍
帖子发表于 : 2011-09-16 18:50 
头像

注册: 2007-03-24 23:45
帖子: 2358
送出感谢: 0 次
接收感谢: 9
我虚拟机测试过了,没这个问题的
你 .vimrc 里面 set nocp 没,还有可以的话,把出错的图截下来


页首
 用户资料  
 
12 楼 
 文章标题 : Re: 基于 GVim 的 C/C++ IDE -- VimLite 介绍
帖子发表于 : 2011-09-17 11:24 

注册: 2007-10-08 1:05
帖子: 41
送出感谢: 0 次
接收感谢: 0 次
fanhe 写道:
我虚拟机测试过了,没这个问题的
你 .vimrc 里面 set nocp 没,还有可以的话,把出错的图截下来


在.vimrc已经set nocp了, filetype pluging 也 on了,会不会其他的.vimrc里的配置导致的?

不会上截图啊。。


页首
 用户资料  
 
13 楼 
 文章标题 : Re: 基于 GVim 的 C/C++ IDE -- VimLite 介绍
帖子发表于 : 2011-09-17 20:01 
头像

注册: 2007-03-24 23:45
帖子: 2358
送出感谢: 0 次
接收感谢: 9
liliwang 写道:
fanhe 写道:
我虚拟机测试过了,没这个问题的
你 .vimrc 里面 set nocp 没,还有可以的话,把出错的图截下来


在.vimrc已经set nocp了, filetype pluging 也 on了,会不会其他的.vimrc里的配置导致的?

不会上截图啊。。

备份你的 .vimrc
新建一个 .vimrc 只设计 nocp 和 ftplugin 再试试


页首
 用户资料  
 
14 楼 
 文章标题 : Re: 基于 GVim 的 C/C++ IDE -- VimLite 介绍
帖子发表于 : 2011-10-06 17:03 
头像

注册: 2007-09-23 17:06
帖子: 1053
送出感谢: 1
接收感谢: 8
这个要顶的。还要说一句,LZ珍重呀


页首
 用户资料  
 
15 楼 
 文章标题 : Re: 基于 GVim 的 C/C++ IDE -- VimLite 介绍
帖子发表于 : 2011-10-10 20:13 
头像

注册: 2007-09-23 17:06
帖子: 1053
送出感谢: 1
接收感谢: 8
vimrc里设置成只有那两项;
整张安装那些依赖包,但执行
:VLWorkspaceOpen 时出错:如图:
PS:本人ubuntu 11.04
附件:
Screenshot-1.png
Screenshot-1.png [ 138.16 KiB | 被浏览 11242 次 ]



页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 181 篇帖子 ]  前往页数 1, 2, 3, 4, 5 ... 13  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译