antirez 是 Redis 的作者。他花几个小时写了个 terminal 里的文本编辑器的原型。
纯 C, 没有用任何标准库之外的 library.
https://github.com/antirez/kilo
关于这事情的博客介绍在这里
挺好玩的,可以试着加点 Vim 的功能练练手。
看这种新的 project 觉得挺受启发的,一千行(加上系统 API)能做那么多事情。
刚刚提交了个 PR fix 了一个 bug.
有些希望加上的功能感觉有空可以试试:
Ctrl-D
删除一行。
Ctrl-U
撤销修改。(目测比较复杂)
就怕作者没有维护这个 project 的意思,不处理 pull request 就不好了。
1
anyforever 2016-07-12 10:47:53 +08:00
高手就是高手
|
2
y OP @anyforever 看我附加的亮点。
|
3
ma125125t 2016-07-12 11:46:53 +08:00
借个地儿问个突然想到的问题, linux 里这些软件万一是同名的怎么处理的?
|
4
megatron 2016-07-12 11:54:52 +08:00
in a few hours
:) |
5
renzhn 2016-07-12 11:55:20 +08:00
牛逼
|
7
liteneo 2016-07-12 12:33:30 +08:00 via iPhone
666
|
9
liteneo 2016-07-12 12:40:58 +08:00 via iPhone
Test
|
10
fy 2016-07-12 12:42:08 +08:00
然后遇到 utf-8 卒,正则搜索卒, 233
|
12
xiahei 2016-07-12 15:43:04 +08:00
跪着看完博客。
|
13
yuelang85 2016-07-12 15:54:41 +08:00
语法高亮这个很厉害,需要做各种适配的
|
14
changshu 2016-07-12 15:57:24 +08:00
几小时一千多行 C , 专注力和执行力真的吓人
|
15
y OP @changshu 作者说了,“ taking code from my other two projects, load81 and linenoise ”. 所以有一部分现成的代码。关键是脑子已经准备好了随时能写代码。最初的 git 的 C 代码也就几个文件几千行这样,也要服。
|
17
y OP @yuelang85 目前做得也有一定问题。主要是佩服作者的执行力,能把复杂问题转化成代码。
语法高亮这段最复杂,但代码也就 135 行。 https://github.com/antirez/kilo/blob/master/kilo.c#L368-L503 |
19
y OP @yuelang85 难。难写得正确(复杂性也是难度的一种)。比如写了个 /* 进入注释, 往后所有行的代码高亮都得变,删掉 *, 又要变回来,在 /* 前面加个 /, 也要改变后面所有的高亮。试了试现在作者并没有做好这些... 再比如 "/*" 这种... 很头疼。
|
20
plqws 2016-07-12 21:33:42 +08:00
好像是我看到过的最干净最规范的 c 代码了…可能是项目规模不大的缘故...
|
26
airqj 2016-07-13 17:20:38 +08:00
三天 1800 个 start
牛人就是牛人 不得不服..... |
27
0915240 2016-07-13 20:43:53 +08:00 via Android
牛逼
|
28
jedihy 2016-07-14 09:53:40 +08:00
牛!看 redis 源码就知道作者有多牛。
|