Redis 作者用一千行代码写了个 terminal 里的文本编辑器

2016-07-12 10:22:53 +08:00
 y

antirez 是 Redis 的作者。他花几个小时写了个 terminal 里的文本编辑器的原型。

纯 C, 没有用任何标准库之外的 library.

https://github.com/antirez/kilo

关于这事情的博客介绍在这里

http://antirez.com/news/108

挺好玩的,可以试着加点 Vim 的功能练练手。

6747 次点击
所在节点    分享发现
28 条回复
anyforever
2016-07-12 10:47:53 +08:00
高手就是高手
y
2016-07-12 10:56:55 +08:00
@anyforever 看我附加的亮点。
ma125125t
2016-07-12 11:46:53 +08:00
借个地儿问个突然想到的问题, linux 里这些软件万一是同名的怎么处理的?
megatron
2016-07-12 11:54:52 +08:00
in a few hours
:)
renzhn
2016-07-12 11:55:20 +08:00
牛逼
xlvecle
2016-07-12 12:10:15 +08:00
@renzhn 。。。。。
liteneo
2016-07-12 12:33:30 +08:00
666
seerhut
2016-07-12 12:37:34 +08:00
@ma125125t 进发行版的 repo 时会处理的
liteneo
2016-07-12 12:40:58 +08:00
Test
fy
2016-07-12 12:42:08 +08:00
然后遇到 utf-8 卒,正则搜索卒, 233
y
2016-07-12 15:12:01 +08:00
@fy 满脑子都是负能量...
xiahei
2016-07-12 15:43:04 +08:00
跪着看完博客。
yuelang85
2016-07-12 15:54:41 +08:00
语法高亮这个很厉害,需要做各种适配的
changshu
2016-07-12 15:57:24 +08:00
几小时一千多行 C , 专注力和执行力真的吓人
y
2016-07-12 16:08:03 +08:00
@changshu 作者说了,“ taking code from my other two projects, load81 and linenoise ”. 所以有一部分现成的代码。关键是脑子已经准备好了随时能写代码。最初的 git 的 C 代码也就几个文件几千行这样,也要服。
fy
2016-07-12 16:15:56 +08:00
@y 玩笑
y
2016-07-12 16:37:10 +08:00
@yuelang85 目前做得也有一定问题。主要是佩服作者的执行力,能把复杂问题转化成代码。

语法高亮这段最复杂,但代码也就 135 行。 https://github.com/antirez/kilo/blob/master/kilo.c#L368-L503
yuelang85
2016-07-12 19:02:11 +08:00
@y 这段费代码呀,不难,但是占行数。回头还要有光标控制,快捷键功能,界面代码,滚屏,全都下来,都是量。。。。
y
2016-07-12 21:26:02 +08:00
@yuelang85 难。难写得正确(复杂性也是难度的一种)。比如写了个 /* 进入注释, 往后所有行的代码高亮都得变,删掉 *, 又要变回来,在 /* 前面加个 /, 也要改变后面所有的高亮。试了试现在作者并没有做好这些... 再比如 "/*" 这种... 很头疼。
plqws
2016-07-12 21:33:42 +08:00
好像是我看到过的最干净最规范的 c 代码了…可能是项目规模不大的缘故...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/291878

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX