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

Vim、Emacs配置和使用
回复
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

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

#166

帖子 fanhe » 2013-05-24 14:36

那就软链接一个吧

代码: 全选

sudo ln -s /usr/lib/libclang.so.1 /usr/lib/libclang.so
最近打算发新版本了,名字也改了
如果你的vim有clientserver,用clang补全的效果还是非常不错的
如果再打个vim的弹出菜单的patch,补全体验可以赶上visual studio了
5niu
帖子: 1
注册时间: 2009-01-16 18:38

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

#167

帖子 5niu » 2013-05-25 12:38

楼主的主题很不错,能共享一下吗?
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

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

#168

帖子 fanhe » 2013-05-27 23:20

回楼上
desertEx.tar.bz2
(2.12 KiB) 已下载 120 次
回楼上上,如果你用的Linux,更新为videm吧,我重构了vimlite并且改名了
http://www.vim.org/scripts/script.php?script_id=4599

libclang的路径如果不是标准的话,设置下变量就是了
zhouxu
帖子: 1
注册时间: 2013-06-11 15:58
系统: ubuntu

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

#169

帖子 zhouxu » 2013-06-11 16:18

Hi,我用的是vim,但是在create Workspace的时候出现错误:
15. Workspace Settings...
Type number and <Enter> or click with mouse (empty cancels): 3处理 function <SNR>26_ShowMenu..<SNR>26_CreateWorkspace..173 时发生错误:
第 9 行:
E117: Unknown function: strdisplaywidth
E15: 无效的表达式: strdisplaywidth(sLabel) + 2
E117: Unknown function: strdisplaywidth
E15: 无效的表达式: strdisplaywidth(sLabel) + 2
E117: Unknown function: strdisplaywidth
E15: 无效的表达式: strdisplaywidth(sLabel) + 2
处理 function <SNR>26_ShowMenu..<SNR>26_CreateWorkspace..173..110 时发生错误:
第 7 行:
E117: Unknown function: strdisplaywidth
E15: 无效的表达式: strdisplaywidth(sLabel) < 2
E117: Unknown function: strdisplaywidth
E15: 无效的表达式: strdisplaywidth(sLabel) < 2
E117: Unknown function: strdisplaywidth
E15: 无效的表达式: strdisplaywidth(sLabel) < 2
处理 function <SNR>26_ShowMenu..<SNR>26_CreateWorkspace..173 时发生错误:
第 31 行:
E117: Unknown function: strdisplaywidth
E15: 无效的表达式: strdisplaywidth(sLabel) + 2
E117: Unknown function: strdisplaywidth
E15: 无效的表达式: strdisplaywidth(sLabel) + 2
处理 function <SNR>26_ShowMenu..<SNR>26_CreateWorkspace..141..56 时发生错误:
第 3 行:
E117: Unknown function: strdisplaywidth
E15: 无效的表达式: strdisplaywidth(self.label)
处理 function <SNR>26_ShowMenu..<SNR>26_CreateWorkspace..141..56..vlutils#ExpandTabs 时发生错误:
第 6 行:
E117: Unknown function: strchars
E116: Invalid arguments for function range(strchars(str))
E15: 无效的表达式: range(strchars(str))
处理 function <SNR>26_ShowMenu..<SNR>26_CreateWorkspace..141..56 时发生错误:
第 5 行:
E117: Unknown function: strdisplaywidth
E15: 无效的表达式: strdisplaywidth(text)
第 48 行:
E121: 未定义的变量: l:textLen
E15: 无效的表达式: self.wrap != 0 && self.indent + l:textLen + 2 > s:VC_MAXLINELEN
第 3 行:
E117: Unknown function: strdisplaywidth
E15: 无效的表达式: strdisplaywidth(self.label)
处理 function <SNR>26_ShowMenu..<SNR>26_CreateWorkspace..141..56..vlutils#ExpandTabs 时发生错误:
第 6 行:
E117: Unknown function: strchars

请问要是少安装了什么东西吗?
头像
lilydjwg
论坛版主
帖子: 4248
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

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

#170

帖子 lilydjwg » 2013-06-12 13:20

zhouxu 写了:Hi,我用的是vim,但是在create Workspace的时候出现错误:
15. Workspace Settings...
Type number and <Enter> or click with mouse (empty cancels): 3处理 function <SNR>26_ShowMenu..<SNR>26_CreateWorkspace..173 时发生错误:
第 9 行:
E117: Unknown function: strdisplaywidth
E15: 无效的表达式: strdisplaywidth(sLabel) + 2
E117: Unknown function: strdisplaywidth
E15: 无效的表达式: strdisplaywidth(sLabel) + 2
E117: Unknown function: strdisplaywidth
E15: 无效的表达式: strdisplaywidth(sLabel) + 2
处理 function <SNR>26_ShowMenu..<SNR>26_CreateWorkspace..173..110 时发生错误:
第 7 行:
E117: Unknown function: strdisplaywidth
E15: 无效的表达式: strdisplaywidth(sLabel) < 2
E117: Unknown function: strdisplaywidth
E15: 无效的表达式: strdisplaywidth(sLabel) < 2
E117: Unknown function: strdisplaywidth
E15: 无效的表达式: strdisplaywidth(sLabel) < 2
处理 function <SNR>26_ShowMenu..<SNR>26_CreateWorkspace..173 时发生错误:
第 31 行:
E117: Unknown function: strdisplaywidth
E15: 无效的表达式: strdisplaywidth(sLabel) + 2
E117: Unknown function: strdisplaywidth
E15: 无效的表达式: strdisplaywidth(sLabel) + 2
处理 function <SNR>26_ShowMenu..<SNR>26_CreateWorkspace..141..56 时发生错误:
第 3 行:
E117: Unknown function: strdisplaywidth
E15: 无效的表达式: strdisplaywidth(self.label)
处理 function <SNR>26_ShowMenu..<SNR>26_CreateWorkspace..141..56..vlutils#ExpandTabs 时发生错误:
第 6 行:
E117: Unknown function: strchars
E116: Invalid arguments for function range(strchars(str))
E15: 无效的表达式: range(strchars(str))
处理 function <SNR>26_ShowMenu..<SNR>26_CreateWorkspace..141..56 时发生错误:
第 5 行:
E117: Unknown function: strdisplaywidth
E15: 无效的表达式: strdisplaywidth(text)
第 48 行:
E121: 未定义的变量: l:textLen
E15: 无效的表达式: self.wrap != 0 && self.indent + l:textLen + 2 > s:VC_MAXLINELEN
第 3 行:
E117: Unknown function: strdisplaywidth
E15: 无效的表达式: strdisplaywidth(self.label)
处理 function <SNR>26_ShowMenu..<SNR>26_CreateWorkspace..141..56..vlutils#ExpandTabs 时发生错误:
第 6 行:
E117: Unknown function: strchars

请问要是少安装了什么东西吗?
你没安装 Vim 7.3。
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

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

#171

帖子 fanhe » 2013-06-17 23:40

如ls依云所说

脚本主页那里写着要vim7.3的,看来我是缺了vim版本号的检查啊,新版本补上
头像
zhw2101024
帖子: 1849
注册时间: 2009-03-28 16:10
系统: Arch debian win7
联系:

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

#172

帖子 zhw2101024 » 2013-06-18 9:46

不是泼冷水,只是感觉QT的IDE很好用啊,没必要想着去取代它。费时费力,重复造轮子
vim只能单纯的分析源代码的文本,有些语言本身的特性vim插件还没办法考虑到。IDE毕竟跟文本编辑器出发点不同
不过佩服楼主的折腾精神,到现在还只是作为编辑器用
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

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

#173

帖子 fanhe » 2013-06-18 14:28

zhw2101024 写了:不是泼冷水,只是感觉QT的IDE很好用啊,没必要想着去取代它。费时费力,重复造轮子
vim只能单纯的分析源代码的文本,有些语言本身的特性vim插件还没办法考虑到。IDE毕竟跟文本编辑器出发点不同
不过佩服楼主的折腾精神,到现在还只是作为编辑器用
如果你认为QT的IDE已经很好用的话,我只能说:1、我不熟QT;2、你要求太低了。

本来我就没想过要取代,我只是想把vim做成IDE那样,因为在其他IDE模拟vi和把vim改成IDE这两种选择中,我选择了后者而已。
不得不承认,从原始需求来说,我这个东西注定小众,因为本来熟练使用vim的就少,而熟练使用vim并且喜欢我这样用的人就更少。
我满足我自己的需求就足够了。
另外,vim的feature request中,添加IDE特性貌似是排在第一位的。

说起我的这个IDE,现在只是补全引擎搓了点而已,因为这个组件本来工作量就很大,未来我是打算“抄袭”KDevelop的补全引擎和代码导航组件到vim用。
头像
kaji331
帖子: 565
注册时间: 2009-04-27 6:33

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

#174

帖子 kaji331 » 2013-06-19 21:22

fanhe 写了:回楼上
desertEx.tar.bz2
回楼上上,如果你用的Linux,更新为videm吧,我重构了vimlite并且改名了
http://www.vim.org/scripts/script.php?script_id=4599

libclang的路径如果不是标准的话,设置下变量就是了
这本videm就是新版的vimlite吧?支持楼主 :em11
目前888版本的vimlite用起来也还行,由于最近debian升级sid把系统搞完蛋了,回到纯正的LMDE了,还没有来得及试试现在的libclang怎么样,不过我看到一个基于libclang的vim补全引擎,很多人推荐,说比libclang好得多,而且支持python等语言,也许楼主可以看看能不能整合到videm中来,解决补全这个大问题!不过这个引擎还在快速开发中,videm要支持觉得应该用自带整合而不是插件选项的方式,可能更加稳定,网址:
http://valloric.github.io/YouCompleteMe/
知道base64解密的女生请看

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

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

#175

帖子 fanhe » 2013-06-20 11:18

kaji331 写了:
fanhe 写了:回楼上
desertEx.tar.bz2
回楼上上,如果你用的Linux,更新为videm吧,我重构了vimlite并且改名了
http://www.vim.org/scripts/script.php?script_id=4599

libclang的路径如果不是标准的话,设置下变量就是了
这本videm就是新版的vimlite吧?支持楼主 :em11
目前888版本的vimlite用起来也还行,由于最近debian升级sid把系统搞完蛋了,回到纯正的LMDE了,还没有来得及试试现在的libclang怎么样,不过我看到一个基于libclang的vim补全引擎,很多人推荐,说比libclang好得多,而且支持python等语言,也许楼主可以看看能不能整合到videm中来,解决补全这个大问题!不过这个引擎还在快速开发中,videm要支持觉得应该用自带整合而不是插件选项的方式,可能更加稳定,网址:
http://valloric.github.io/YouCompleteMe/
这个插件我研究过了,对于普通的补全还是不错的,但是对于c/c++的补全就比较差了,至少没有实现异步,而我是实现了异步的。
这个插件的安装太麻烦了,不过要整合还是可以的,videm和ycm(YouCompleteMe)的功能都比较独立,而且videm是插件架构了,很容易整合。

总而言之,暂时没整合ycm这个计划,看ycm能走多远吧,我的空余时间主要放在移植kdevelop的补全引擎了
头像
kaji331
帖子: 565
注册时间: 2009-04-27 6:33

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

#176

帖子 kaji331 » 2013-06-20 13:51

fanhe 写了:
kaji331 写了:
fanhe 写了:回楼上
desertEx.tar.bz2
回楼上上,如果你用的Linux,更新为videm吧,我重构了vimlite并且改名了
http://www.vim.org/scripts/script.php?script_id=4599

libclang的路径如果不是标准的话,设置下变量就是了
这本videm就是新版的vimlite吧?支持楼主 :em11
目前888版本的vimlite用起来也还行,由于最近debian升级sid把系统搞完蛋了,回到纯正的LMDE了,还没有来得及试试现在的libclang怎么样,不过我看到一个基于libclang的vim补全引擎,很多人推荐,说比libclang好得多,而且支持python等语言,也许楼主可以看看能不能整合到videm中来,解决补全这个大问题!不过这个引擎还在快速开发中,videm要支持觉得应该用自带整合而不是插件选项的方式,可能更加稳定,网址:
http://valloric.github.io/YouCompleteMe/
这个插件我研究过了,对于普通的补全还是不错的,但是对于c/c++的补全就比较差了,至少没有实现异步,而我是实现了异步的。
这个插件的安装太麻烦了,不过要整合还是可以的,videm和ycm(YouCompleteMe)的功能都比较独立,而且videm是插件架构了,很容易整合。

总而言之,暂时没整合ycm这个计划,看ycm能走多远吧,我的空余时间主要放在移植kdevelop的补全引擎了
:em11 支持早日完成kdevelop的补全引擎移植~我也没有研究过YCM,只是看到有人说有这么个东西,所以向楼主推荐一下,既然还不如楼主现有的,那就没有必要整合了嘛~
知道base64解密的女生请看

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

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

#177

帖子 kaji331 » 2013-12-08 20:24

opensuse里的vim7.4是+python/dyn和+python3/dyn支持,即动态加载支持,videm启动会报错,希望后续版本跟进:)
知道base64解密的女生请看

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

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

#178

帖子 fanhe » 2013-12-10 22:14

kaji331 写了:opensuse里的vim7.4是+python/dyn和+python3/dyn支持,即动态加载支持,videm启动会报错,希望后续版本跟进:)
如果是动态载入的话,也没法通过以下方法来检查啊

代码: 全选

if !(has('python') || has('python/dyn'))
  finish
fi
麻烦在你的系统的gvim下把以下四条命令的输出发上来

代码: 全选

echo has('python')
echo has('python/dyn')
echo has('python3')
echo has('python3/dyn')
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

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

#179

帖子 fanhe » 2013-12-11 21:50

kaji331 写了:opensuse里的vim7.4是+python/dyn和+python3/dyn支持,即动态加载支持,videm启动会报错,希望后续版本跟进:)
据我所知,即使是动态加载,也可以用以下语句来检查的

代码: 全选

has('python')
头像
kaji331
帖子: 565
注册时间: 2009-04-27 6:33

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

#180

帖子 kaji331 » 2014-02-27 16:13

fanhe 写了:
kaji331 写了:opensuse里的vim7.4是+python/dyn和+python3/dyn支持,即动态加载支持,videm启动会报错,希望后续版本跟进:)
如果是动态载入的话,也没法通过以下方法来检查啊

代码: 全选

if !(has('python') || has('python/dyn'))
  finish
fi
麻烦在你的系统的gvim下把以下四条命令的输出发上来

代码: 全选

echo has('python')
echo has('python/dyn')
echo has('python3')
echo has('python3/dyn')
我的version里有+python/dyn和+python3/dyn,而这四条命令只有echo has('python3')是1,其他都是0
知道base64解密的女生请看

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