为vim创建一个前端

时间:2013-01-09 19:11:00

标签: c user-interface vim

我是vim的忠实粉丝,我每天都会使用它来完成几乎所有的编辑工作。我意识到vim被用于终端,这很棒,因为它使它可以在没有桌面环境等的服务器上使用。 但我也喜欢漂亮的应用程序,具有整洁的图形界面和其他功能,如项目或ftp客户端(我知道几乎任何东西都有vim插件,但我更喜欢舒适,例如IDE提供),所以我搜索了类似vim的替代品GUI。显然,我遇到了Sublime Text,这几乎是完美的,但缺乏一些vim的力量。这让我觉得,是否有可能采取vim的源代码并为它构建一个不错的前端?嗯..当然有可能,但我的问题是,它会有多难和耗时,最好的方法是什么?或者是否已经有我没有找到的项目?

感谢您的回答!

1 个答案:

答案 0 :(得分:3)

至少one IDE built around Vim。它带有一个基于GUI的文件树和符号树以及其他一些细节,但编辑器组件仍然是普通的Vim,所以在外观上没有太多“改进”。感觉部门。

在Mac OS X上,MacVim非常好地集成在整个Mac UX中(本机快捷方式,.app包...)但它仍然是Vim。甚至还有一个提供“原生”文件抽屉的分叉。也没有“改善”。

据我所知,除了Linux / Windows上的GVim之外,这些是在GUI端完成的唯一工作示例。等待!最近还有一个基于QT的项目。

无论如何,这些项目所做的是将各种GUI小部件“绑定”到Vim核心并将它们绑定到内部资源。你似乎想到的是一个完全不同的事情。你没有准确解释你想要什么,所以我必须推断一下。我想你可能会想:

  • roundrects
  • 阴影
  • 梯度
  • 动画
  • GUI主题
  • 鼠标友好
  • 平滑滚动
  • ...

我不熟悉Vim的内部结构,但我很确定黑客攻击所有这些方面将代表相当多的工作。一个简单的事实是Vim,无论是在shell中还是作为GVim / MacVim,用文本绘制所有,有一个相当古老的学校输入系统,或者甚至不是多线程使得巨大挑战,IMO。


关于你的问题......

你问如何或者是否可以为Vim构建一个“漂亮”的GUI,你建议ST2作为基线。

首先,不是每个人都对ST2本身或其外观有很高的评价。我认为,对于UX /视觉设计方面来说,这是一个噱头和不一致的屎,一般来说是一个动力不足的编辑。我很难想象为什么有人会认为它在任何方面都比Vim“更好”。

此外,并非所有人都认为Vim或GVim的设计/用户体验很糟糕。我敢打赌,大多数vimmers实际上都喜欢它。基于文本的UI对我们很多人都有价值,我不认为我是唯一一个不认为向Vim添加渐变,圆角和阴影会让它变得更好的人。当然,我可能错了。正如您所写,vim的一个优点是您可以在终端中使用它。您的项目 - 或者我认为是您的项目 - 听起来很像向GUI Vim添加很多东西,这对终端Vim没有任何意义。将这两种声音解耦对我来说是一个非常糟糕和浪费的想法。

如果真的希望让Vim更好,我可以推荐一堆其他方面吗?统一的插件API,更好的外部语言API,多线程,现代化的输入系统......还有很多工作要做。而且我认为它比添加毫无价值的眼睛糖果更重要。

为了启动建设性的讨论,你应该真的提供:

  • 您希望在vim中看到的那些细节的评论列表,
  • 为什么这些细节会被视为“改进”
  • 的理由
  • 实施理念。

哦!而且, definetely 不是讨论此类事情的正确场所。