0

I am huge fan of vim and I use it daily for almost every editing task. I realize that vim is made to be used in terminal and that's great, because it makes it usable on servers without desktop environment etc. But I also like pretty applications with neat graphical interface and additional features like projects or ftp clients (I know there are vim plugins for almost anything, but I prefer comfort that for example IDEs provide), so I searched for vim-like alternatives with pretty GUI. Obviously, I ran into Sublime Text, which is almost perfect, but lacks some of the vim's power. That made me think, would it be possible to take vim's source code and build a nice frontend for it? Well.. of course it would be possible, but my question is, how hard and time-consuming would it be, and what would be the best approach? Or is there already such project that I haven't found?

Thanks for your answers!

4

1 回答 1

3

至少有一个围绕 Vim 构建的 IDE。它带有一个基于 GUI 的文件树和符号树以及其他一些细节,但是编辑器组件仍然是普通的 Vim,因此在外观部门没有太多“改进”。

在 Mac OS X 上,MacVim 很好地集成到了整个 Mac UX(本机快捷方式、.app 包……)中,但它仍然是 Vim。甚至还有一个提供“本机”文件抽屉的叉子。那里也没有“改进”可言。

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

不管怎样,这些项目所做的是将各种 GUI 小部件“固定”到 Vim 核心并将它们绑定到内部东西。你的想法似乎是完全不同的事情。你没有准确地解释你想要什么,所以我不得不推断一下。我想你可能会喜欢:

  • 圆角
  • 阴影
  • 渐变
  • 动画
  • 图形用户界面主题
  • 鼠标友好
  • 平滑滚动
  • …</li>

我不熟悉 Vim 的内部结构,但我很确定破解所有这些方面将代表大量工作。Vim,无论是在 shell 中还是作为 GVim/MacVim,都使用文本绘制所有内容,具有相当陈旧的学校输入系统或者甚至不是多线程的简单事实,这对 IMO 来说是一个巨大的挑战。


关于你的问题……</p>

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

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

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

如果你真的想让 Vim 变得更好,我可以建议一堆其他方面吗?一个统一的插件 API、一个更好的外部语言 API、多线程、现代化输入系统……还有很多工作要做。而且我会说这比添加毫无价值的眼睛糖果要重要得多。

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

  • 你想在 vim 中看到的那些细节的评论列表,
  • 为什么这些细节会被认为是“改进,
  • 实施思路。

哦!SO 绝对不是讨论此类事情的合适场所。

于 2013-01-09T21:26:27.717 回答