基于 GVim 的 C/C++ IDE -- VimLite 介绍

Vim、Emacs配置和使用
回复
头像
kaji331
帖子: 565
注册时间: 2009-04-27 6:33

Re: 基于 GVim 的 C/C++ IDE -- VimLite 介绍

#76

帖子 kaji331 » 2012-04-22 3:34

fanhe 写了:插件冲突是曾经困扰我很长时间的问题
由于这个问题,我决心系统地学习 vim script,所以,用 vim 插件基本上都是逼你学vim script 的 :em05

你把你全套 ~/.vim 和 .vimrc 放上来,我有时间帮你测测看看是哪个插件的问题

另外,minibuf 有人在继续维护了,你看看这个 https://github.com/fholgado/minibufexpl.vim
我本来想重写这个插件的,但是发现 VimLite 也不够时间去完善,所以遥遥无期
我自己一般不用这类插件的,习惯了,因为反正打开的都是工作区的文件,直接到工作区重新打开就行了,而且一般我都是在文件间的符号跳来跳去的
我也说不清楚,这个问题其实发现不是一定触发,而是看人品,有时候会有,有时候不会。不折腾了~很多时候系统的状态也会影响vim的表现,我在vimrc中一直用自动命令set lines=999 columns=9999来实现自动最大化,从来没问题,今天不知道怎么了,突然故障了,终端中第二次启动开始就会让vim自动移往下一个工作区,后来连gvim也这样,数值降到200就好了,以前也没事啊,搞不懂~唯一的区别是今天升级了内核,10.04用了12.04 pae的3.3.2,还系统自动更新了openssh什么的而已~
知道base64解密的女生请看

5oiR5Zyo5p2t5bee5rWZ5aSn57Sr6YeR5riv6K+75Lmm77yM5aaC5p6c5L2g5a+C5a+e5oOz6KaB54Ku5Y+L77yM6K+357uZ5oiR55WZIOiogOWQp++8mu+8iQo=
头像
kaji331
帖子: 565
注册时间: 2009-04-27 6:33

Re: 基于 GVim 的 C/C++ IDE -- VimLite 介绍

#77

帖子 kaji331 » 2012-05-02 15:31

lz,不好意思,我又有新问题了哈:)

我现在在LMDE下用vimlite,别的没什么问题,就是打开以前建立的工程到打开文件的时候打不开,跳出错误,不知道怎么了,python2.7 python-lxml build-essential等都安装了
附件
07的屏幕截图.png
知道base64解密的女生请看

5oiR5Zyo5p2t5bee5rWZ5aSn57Sr6YeR5riv6K+75Lmm77yM5aaC5p6c5L2g5a+C5a+e5oOz6KaB54Ku5Y+L77yM6K+357uZ5oiR55WZIOiogOWQp++8mu+8iQo=
头像
kaji331
帖子: 565
注册时间: 2009-04-27 6:33

Re: 基于 GVim 的 C/C++ IDE -- VimLite 介绍

#78

帖子 kaji331 » 2012-05-02 15:35

kaji331 写了:lz,不好意思,我又有新问题了哈:)

我现在在LMDE下用vimlite,别的没什么问题,就是打开以前建立的工程到打开文件的时候打不开,跳出错误,不知道怎么了,python2.7 python-lxml build-essential等都安装了
明白问题在哪里了,不能支持中文文件夹,希望以后能增加支持~还有就是发现如果我把工程文件夹移动位置了,编译就报错,希望以后的脚本能更绿色些,能够判断搜索当前文件夹,谢谢!
知道base64解密的女生请看

5oiR5Zyo5p2t5bee5rWZ5aSn57Sr6YeR5riv6K+75Lmm77yM5aaC5p6c5L2g5a+C5a+e5oOz6KaB54Ku5Y+L77yM6K+357uZ5oiR55WZIOiogOWQp++8mu+8iQo=
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

Re: 基于 GVim 的 C/C++ IDE -- VimLite 介绍

#79

帖子 fanhe » 2012-05-02 18:44

kaji331 写了:
kaji331 写了:lz,不好意思,我又有新问题了哈:)

我现在在LMDE下用vimlite,别的没什么问题,就是打开以前建立的工程到打开文件的时候打不开,跳出错误,不知道怎么了,python2.7 python-lxml build-essential等都安装了
明白问题在哪里了,不能支持中文文件夹,希望以后能增加支持~还有就是发现如果我把工程文件夹移动位置了,编译就报错,希望以后的脚本能更绿色些,能够判断搜索当前文件夹,谢谢!
第一个问题确实存在,python 的编码问题,有时间再研究下是否有简单的解决办法
移动位置那个问题也是存在的,我在重构这个模块,作为替换的解决办法,移动后你选择一次 Export Makefile 就好了
头像
kaji331
帖子: 565
注册时间: 2009-04-27 6:33

Re: 基于 GVim 的 C/C++ IDE -- VimLite 介绍

#80

帖子 kaji331 » 2012-05-03 16:52

fanhe 写了:
kaji331 写了:
kaji331 写了:lz,不好意思,我又有新问题了哈:)

我现在在LMDE下用vimlite,别的没什么问题,就是打开以前建立的工程到打开文件的时候打不开,跳出错误,不知道怎么了,python2.7 python-lxml build-essential等都安装了
明白问题在哪里了,不能支持中文文件夹,希望以后能增加支持~还有就是发现如果我把工程文件夹移动位置了,编译就报错,希望以后的脚本能更绿色些,能够判断搜索当前文件夹,谢谢!
第一个问题确实存在,python 的编码问题,有时间再研究下是否有简单的解决办法
移动位置那个问题也是存在的,我在重构这个模块,作为替换的解决办法,移动后你选择一次 Export Makefile 就好了
楼主回答真及时,多谢
知道base64解密的女生请看

5oiR5Zyo5p2t5bee5rWZ5aSn57Sr6YeR5riv6K+75Lmm77yM5aaC5p6c5L2g5a+C5a+e5oOz6KaB54Ku5Y+L77yM6K+357uZ5oiR55WZIOiogOWQp++8mu+8iQo=
zuyf
帖子: 3
注册时间: 2011-09-13 11:16

Re: 基于 GVim 的 C/C++ IDE -- VimLite 介绍

#81

帖子 zuyf » 2012-06-13 18:48

LZ, 我在vim.org上 下载的最新版,并且编译了ctags58m,但是不能代码补全,我在workspace setting 中设置了include file,在parse workspace的时候一直显示parsing files: 0%, project.vltags 文件只有16k。 我用vimlite 打开ctags58m的workspace 也是一样。请问是什么问题?
PS: 在vim menu 中的 Tag and Clang settings 中 gcc 头文件的路径应该也是对的。我用的是64bit gcc 4.7。
zuyf
帖子: 3
注册时间: 2011-09-13 11:16

Re: 基于 GVim 的 C/C++ IDE -- VimLite 介绍

#82

帖子 zuyf » 2012-06-14 10:54

zuyf 写了:LZ, 我在vim.org上 下载的最新版,并且编译了ctags58m,但是不能代码补全,我在workspace setting 中设置了include file,在parse workspace的时候一直显示parsing files: 0%, project.vltags 文件只有16k。 我用vimlite 打开ctags58m的workspace 也是一样。请问是什么问题?
PS: 在vim menu 中的 Tag and Clang settings 中 gcc 头文件的路径应该也是对的。我用的是64bit gcc 4.7。
找到问题了,在TagsStorageSQLite.py中指定64位机器要调用vlctags2_64的,把vlctags2改成vlctags_64就没问题了,补全效果非常好,准确性很高。另外再请教一个问题,能不能补全智能指针,需要怎么设置?
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

Re: 基于 GVim 的 C/C++ IDE -- VimLite 介绍

#83

帖子 fanhe » 2012-06-14 20:05

zuyf 写了:
zuyf 写了:LZ, 我在vim.org上 下载的最新版,并且编译了ctags58m,但是不能代码补全,我在workspace setting 中设置了include file,在parse workspace的时候一直显示parsing files: 0%, project.vltags 文件只有16k。 我用vimlite 打开ctags58m的workspace 也是一样。请问是什么问题?
PS: 在vim menu 中的 Tag and Clang settings 中 gcc 头文件的路径应该也是对的。我用的是64bit gcc 4.7。
找到问题了,在TagsStorageSQLite.py中指定64位机器要调用vlctags2_64的,把vlctags2改成vlctags_64就没问题了,补全效果非常好,准确性很高。另外再请教一个问题,能不能补全智能指针,需要怎么设置?
智能指针是指 auto_ptr 么?如果是的话,就在 VimLite -> Tags And Clang Settings 的 Types 里面添加 std::auto_ptr<A>::element_type=A

现在的补全引擎是参考omnicpp 和 codelite 的,效果一般的,尤其是 typedef 和 重载了 []、->、.之类的操作符后
我正在用 c++ 重写补全引擎,现在的这个凑合着用

如果你的项目比较集中,例如是一般的应用程序,那么可以试试用 libclang.so 补全引擎,只要自己编译出来,这个是编译器级别的,绝对准确,只是准备条件很繁琐而已,就是你要确保编译源文件没有错误
zuyf
帖子: 3
注册时间: 2011-09-13 11:16

Re: 基于 GVim 的 C/C++ IDE -- VimLite 介绍

#84

帖子 zuyf » 2012-06-15 11:25

fanhe 写了:
zuyf 写了:
zuyf 写了:LZ, 我在vim.org上 下载的最新版,并且编译了ctags58m,但是不能代码补全,我在workspace setting 中设置了include file,在parse workspace的时候一直显示parsing files: 0%, project.vltags 文件只有16k。 我用vimlite 打开ctags58m的workspace 也是一样。请问是什么问题?
PS: 在vim menu 中的 Tag and Clang settings 中 gcc 头文件的路径应该也是对的。我用的是64bit gcc 4.7。
找到问题了,在TagsStorageSQLite.py中指定64位机器要调用vlctags2_64的,把vlctags2改成vlctags_64就没问题了,补全效果非常好,准确性很高。另外再请教一个问题,能不能补全智能指针,需要怎么设置?
智能指针是指 auto_ptr 么?如果是的话,就在 VimLite -> Tags And Clang Settings 的 Types 里面添加 std::auto_ptr<A>::element_type=A

现在的补全引擎是参考omnicpp 和 codelite 的,效果一般的,尤其是 typedef 和 重载了 []、->、.之类的操作符后
我正在用 c++ 重写补全引擎,现在的这个凑合着用

如果你的项目比较集中,例如是一般的应用程序,那么可以试试用 libclang.so 补全引擎,只要自己编译出来,这个是编译器级别的,绝对准确,只是准备条件很繁琐而已,就是你要确保编译源文件没有错误
感谢LZ的回复,如果是重载了-> . 操作符是不是就没办法补全了,项目中到处都是auto_ptr shared_ptr,直接用重载的->的时候很多。 clang 补全也试过了,小工程很好,不过现在的项目有很多第三方依赖,搞了很久依然没有编译通过。
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

Re: 基于 GVim 的 C/C++ IDE -- VimLite 介绍

#85

帖子 fanhe » 2012-06-15 22:47

zuyf 写了:
fanhe 写了:
zuyf 写了:
zuyf 写了:LZ, 我在vim.org上 下载的最新版,并且编译了ctags58m,但是不能代码补全,我在workspace setting 中设置了include file,在parse workspace的时候一直显示parsing files: 0%, project.vltags 文件只有16k。 我用vimlite 打开ctags58m的workspace 也是一样。请问是什么问题?
PS: 在vim menu 中的 Tag and Clang settings 中 gcc 头文件的路径应该也是对的。我用的是64bit gcc 4.7。
找到问题了,在TagsStorageSQLite.py中指定64位机器要调用vlctags2_64的,把vlctags2改成vlctags_64就没问题了,补全效果非常好,准确性很高。另外再请教一个问题,能不能补全智能指针,需要怎么设置?
智能指针是指 auto_ptr 么?如果是的话,就在 VimLite -> Tags And Clang Settings 的 Types 里面添加 std::auto_ptr<A>::element_type=A

现在的补全引擎是参考omnicpp 和 codelite 的,效果一般的,尤其是 typedef 和 重载了 []、->、.之类的操作符后
我正在用 c++ 重写补全引擎,现在的这个凑合着用

如果你的项目比较集中,例如是一般的应用程序,那么可以试试用 libclang.so 补全引擎,只要自己编译出来,这个是编译器级别的,绝对准确,只是准备条件很繁琐而已,就是你要确保编译源文件没有错误
感谢LZ的回复,如果是重载了-> . 操作符是不是就没办法补全了,项目中到处都是auto_ptr shared_ptr,直接用重载的->的时候很多。 clang 补全也试过了,小工程很好,不过现在的项目有很多第三方依赖,搞了很久依然没有编译通过。
现在是每个类重载的 . 和 -> 对应一条替换规则,看你有多少重载了这两个操作符的类了
模板类算一个,你的项目需要用这么复杂的C++特性么

auto_ptr 和 shared_ptr 也就两个而已,你设置两个替换规则就好了
wwdlk
帖子: 48
注册时间: 2009-08-04 15:17

Re: 基于 GVim 的 C/C++ IDE -- VimLite 介绍

#86

帖子 wwdlk » 2012-08-12 23:48

有中文版的说明书吗?我英文不好,看的很吃力
头像
kaji331
帖子: 565
注册时间: 2009-04-27 6:33

Re: 基于 GVim 的 C/C++ IDE -- VimLite 介绍

#87

帖子 kaji331 » 2012-08-13 10:28

楼主,我现在用的0.8.9版,不知道怎么了,新建的项目里面没办法parse,报错如图,系统是64位debian sid
附件
抓图1.png
知道base64解密的女生请看

5oiR5Zyo5p2t5bee5rWZ5aSn57Sr6YeR5riv6K+75Lmm77yM5aaC5p6c5L2g5a+C5a+e5oOz6KaB54Ku5Y+L77yM6K+357uZ5oiR55WZIOiogOWQp++8mu+8iQo=
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

Re: 基于 GVim 的 C/C++ IDE -- VimLite 介绍

#88

帖子 fanhe » 2012-08-13 16:49

kaji331 写了:楼主,我现在用的0.8.9版,不知道怎么了,新建的项目里面没办法parse,报错如图,系统是64位debian sid
看报错是执行文件的问题

你这个版本在64位的时候是用的 ~/.vimlite/bin/vlctags2_64 这个文件
你手动运行下这个文件,看看能不能跑

建议你去升级最新版,名字统一为 vlctags2 了,当然,你得自己编译 vlctags2
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

Re: 基于 GVim 的 C/C++ IDE -- VimLite 介绍

#89

帖子 fanhe » 2012-08-13 16:54

wwdlk 写了:有中文版的说明书吗?我英文不好,看的很吃力
中文版的说明书暂时没有
简单的怎么用可以看本帖主楼的介绍
我正在慢慢重构,在过了1.0版本后,那个帮助文档应该会有中文版的

如果需要把配置界面的语言翻译成中文的话,需要做一个 locale 框架,工作量不会小的,暂时没这么多时间……
头像
kaji331
帖子: 565
注册时间: 2009-04-27 6:33

Re: 基于 GVim 的 C/C++ IDE -- VimLite 介绍

#90

帖子 kaji331 » 2012-08-13 19:42

fanhe 写了:
kaji331 写了:楼主,我现在用的0.8.9版,不知道怎么了,新建的项目里面没办法parse,报错如图,系统是64位debian sid
看报错是执行文件的问题

你这个版本在64位的时候是用的 ~/.vimlite/bin/vlctags2_64 这个文件
你手动运行下这个文件,看看能不能跑

建议你去升级最新版,名字统一为 vlctags2 了,当然,你得自己编译 vlctags2
重装vimlite才好的~对了,发现一件事,如果我的C++文件中引用的头文件是自己的,比如abc.hpp,在abc.cpp中引用iostream啊,构建类和结构啊,我在cpp文件中没法使用code completion,总是提示我没有可用的匹配。编译神马的还是正常的。
知道base64解密的女生请看

5oiR5Zyo5p2t5bee5rWZ5aSn57Sr6YeR5riv6K+75Lmm77yM5aaC5p6c5L2g5a+C5a+e5oOz6KaB54Ku5Y+L77yM6K+357uZ5oiR55WZIOiogOWQp++8mu+8iQo=
回复