一个精简的vi源码(2000行)

shiweifu 2012-03-29 10:41:55
要毕业了,没什么事,前段时间在阅读busybox的源码,相对都挺精简的,从中找出不少有用的代码。看了不少,本来想写几篇文章讲分析的,老有事间断。。挖坑没埋。。哎
我看的是busybox 0.6版,2000年左右的版本,里面带个vi源码,我不是vi党,只会基本的hjkl,大概看了看,算是弄明白怎么回事了,加了些注释,本来想仿造一个的,热情已经褪去。。
这个是我精简过的busybox里面的那个vi(去掉了所有附加功能的宏)只有基本的功能和支持基本的按键,但能运行,只有一个文件。我猜现在的vim应该是2-3W行左右的项目了,比较复杂,想看看原理的看看我这个就行了
直接gcc vi.c就能编译。

下载链接:
http://files.cnblogs.com/shiweifu/vi.zip
...全文
388 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
shiweifu 2012-04-10
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 的回复:]

楼主,看不懂啊!怎么不把注释写成中文的呢,呵呵~~这些按键怎么映射的,不懂。。。。
[/Quote]

里面有俩函数:
cookmode
rawmode

在rawmode下,一切当前终端的按键都交由程序自身进行处理。
我是用eclipse+cdt处理的,推荐你也用这个环境。。看代码很方便
无着无依 2012-04-09
  • 打赏
  • 举报
回复
楼主,看不懂啊!怎么不把注释写成中文的呢,呵呵~~这些按键怎么映射的,不懂。。。。
shiweifu 2012-04-07
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 的回复:]

NB
[/Quote]

不NB。。就删了几个宏~
LeeDunyann 2012-04-03
  • 打赏
  • 举报
回复
支持ing
彭家老三 2012-04-03
  • 打赏
  • 举报
回复
下下来了.感谢楼主.
proorck6 2012-04-03
  • 打赏
  • 举报
回复
NB
delphiwcdj 2012-04-02
  • 打赏
  • 举报
回复
谢谢分享
kyle 2012-04-02
  • 打赏
  • 举报
回复
支持下分享
lucky-lucky 2012-04-02
  • 打赏
  • 举报
回复
原来是大牛,没想到VI居然用2000多行就能精简出
  • 打赏
  • 举报
回复
RabbitLBJ 2012-04-02
  • 打赏
  • 举报
回复
LZ大牛啊,同是要毕业的,膜拜
zwb8848happy 2012-04-02
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]

原来是大牛
[/Quote]

膜拜啊!
AnYidan 2012-03-30
  • 打赏
  • 举报
回复
原来是大牛
shiweifu 2012-03-30
  • 打赏
  • 举报
回复
上去吧。。看看有木有人需要
Lactoferrin 2012-03-30
  • 打赏
  • 举报
回复
原来是大牛
狂且 2012-03-30
  • 打赏
  • 举报
回复
鼓掌!
wansbest 2012-03-30
  • 打赏
  • 举报
回复
据说vi的复杂程度已经相当于一个操作系统了,当然这应该是包括了各种插件。用习惯了,vi用起来确实很不

错。
一根烂笔头 2012-03-30
  • 打赏
  • 举报
回复
NB啊!
帅得不敢出门 2012-03-30
  • 打赏
  • 举报
回复
支持楼主。
querdaizhi 2012-03-29
  • 打赏
  • 举报
回复
牛叉,膜拜一下。最近在学linuxc,收下学习了。

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧