我是 vim 的 super 粉丝,我每天都用它来完成几乎所有的编辑任务。我意识到 vim 是为在终端中使用而设计的,这很棒,因为它可以在没有桌面环境等的服务器上使用。
但我也喜欢漂亮的应用程序,具有简洁的图形界面和附加功能,如项目或 ftp 客户端(我知道几乎所有东西都有 vim 插件,但我更喜欢 IDE 提供的舒适性),所以我用 pretty 搜索类似 vim 的替代品图形用户界面。显然,我遇到了 Sublime Text,它几乎是完美的,但缺少 vim 的一些功能。这让我想到,是否可以获取 vim 的源代码并为其构建一个漂亮的前端?嗯..当然有可能,但是我的问题是,这有多困难和耗时,什么是最好的方法?还是已经有这样的项目我还没有找到?
感谢您的回答!
至少有 one IDE built around Vim .它带有基于 GUI 的文件树和符号树以及其他一些优点,但编辑器组件仍然是普通的 Vim,因此在外观和感觉方面没有太多“改进”。
在 Mac OS X 上,MacVim 很好地集成在整个 Mac 用户体验中( native 快捷方式、.app 包……),但它仍然是 Vim。甚至还有一个提供“本地”文件抽屉的 fork 。也没有什么“改进”可言。
据我所知,除了 Linux/Windows 上的 GVim 之外,这些是在 GUI 端完成工作的唯一示例。等待!还有一个最近基于 QT 的项目。
无论如何,这些项目所做的是将各种 GUI 小部件“栓接”到 Vim 核心并将它们绑定(bind)到内部内容。您似乎想到的是完全不同的事情。你没有准确解释你想要什么,所以我不得不推断一下。我想您可能会喜欢:
- 圆角
- 阴影
- 渐变
- 动画
- GUI 主题
- 鼠标友好
- 平滑滚动
- …
我不熟悉 Vim 的内部结构,但我很确定破解所有这些方面需要大量工作。一个简单的事实是 Vim,无论是在 shell 中还是作为 GVim/MacVim,用文本绘制一切,有一个相当老式的输入系统或者甚至不是多线程的,这使得 巨大 挑战,IMO。
关于你的问题......
您询问如何或是否有可能为 Vim 构建一个“漂亮”的 GUI,并且您建议将 ST2 作为基准。
首先,并不是每个人都对 ST2 本身或其外观有很高的评价。一方面,我认为这是用户体验/视觉设计方面的噱头和不一致的垃圾,而且总体上是一个功能不足的编辑器。我很难想象为什么有人会认为它在任何方面都比 Vim “更好”。
此外,并不是每个人都认为 Vim 或 GVim 的设计/用户体验很糟糕。我敢打赌大多数 vimmers 实际上喜欢它的本来面目。基于文本的 UI 对我们很多人都有值(value),我不认为我是唯一一个不认为向 Vim 添加渐变、圆角和阴影会使它以任何方式变得更好的人。当然,我可能是错的。正如您所写,一个 vim 的优势在于您可以在终端中使用它。您的项目 - 或者我认为是您的项目 - 听起来很像是向 GUI Vim 添加了很多东西,而这些东西在终端 Vim 中毫无意义。对我来说,将两者分离听起来是一个非常糟糕和浪费的想法。
如果您真的想让 Vim 变得更好,我可以建议一些其他方面吗?统一的插件 API、更好的外部语言 API、多线程、现代化输入系统……还有很多工作要做。我想说这比添加毫无值(value)的养眼糖果重要得多。
为了启动建设性讨论,您应该真正提供:
- 您希望在 vim 中看到的那些细节的注释列表,
- 关于为什么这些细节会被视为“改进”的合理论据,
- 实现思路。
哦! SO 绝对不是讨论此类事情的合适场所。