您的位置:首页 > 其它

一个简单的 .Net Vim 引擎 LibNVim 开发记录 (一)

2010-12-30 15:14 288 查看
(代码地址: https://github.com/joycode/LibNVim
)

动力来自 VsVim

, 原因有:

1) 一些常用功能没有实现或者并不好用(Ver.0.93)

2) 对设计有一些自己的想法

3) VS 2010 基于 MEF 的插件系统为开发新的插件提供了很大的便利(顺便了解下 MEF)

4) 最后, 也最重要的是, 可以参考 VsVim 中与 VS 交互的代码部分, 否则, 我自己恐怕没有这个精力与时间去摸索

因此, 经过思量后, 按耐不住, 决定按照自己的想法, 重新造个轮子.

先说下思路:

Vim 最核心是独特的键盘交互模式, 如果要做一个插件, 或者说重做一个 Vim, 最重要的也是实现这套键盘输入的处理机制.

而且, 这套机制应该设计成独立于外部环境, 通用的一个东西(参考 yzis

), 从而获得比较好的移植性, 方便其他 .Net IDE 重用.(而这, 正是 VsVim 让我不满意的一个地方, 跟 VS 纠缠的太厉害.)

作为个人项目, 时间与精力有限, 不可能做一个大而全的系统, 所以需要一个合理的目标定位:

1) 实现 Vim 最核心的键盘交互模式, 即各种光标走位, 文档内容的增删改, 对齐, 拷贝粘贴, 撤销/重做, 搜索及 "*"

2) "Ctrl+XXX"命令, 文件操作, 宏之类的统统不管(VsVim 在我看来, 定位不清晰, 野心太大, 不满之二), 一来太复杂, 二来避免与环境的冲突
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐