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

(代码地址: 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 在我看来, 定位不清晰, 野心太大, 不满之二), 一来太复杂, 二来避免与环境的冲突

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值