vim 源码分析

http://bbs.csdn.net/topics/230031469

Ver7.1  晕.
看不明白很正常.  7.1已经很大了.  支持了太多东西. 代码行数那么多(源码压缩了都6M多).
没有linux编程经验,看懂难于登天(他的功能太强大,决定了他源码涉及面广,相对复杂.).工作需要的话,估计等你全部弄明白,都跳槽好几次了...

劝你看个低版本的. vi的源码好像不太好找(我没找到)~
不过vim1.2x/1.X的代码还是很好找的.
都很小.很容易读.而且功能也还算可以了..
vim-1.14.tar.gz   104 KB
vim-1.17.tar.gz  134 KB
vim-1.24.tar.gz  187 KB
vim-1.27.tar.gz  292 KB
vim-2.0.tar.gz    241 KB
6.0以上就很大了
vim-6.0.tar.bz2   2712 KB
vim-6.4.tar.bz2  3650 KB
vim-7.0.tar.bz2  6422 KB
vim-7.1.tar.bz2  6715 KB

给你看看功能说明:
-------------------------------------------------------------------------
1991 Nov 2 - Vim 1.14: 第一版 (在Fred Fish的第591号磁盘上).
1992 - Vim 1.22: 移植到Unix上. Vim开始挑战Vi
1994 Aug 12 - Vim 3.0: 支持多窗口多缓冲区
1996 May 29 - Vim 4.0: 支持GUI(图形用户界面) (主要是Robert Webb的努力).
1998 Feb 19 - Vim 5.0: 颜色支持和语法高亮
2001 Sep 26 - Vim 6.0: 折行, 插件, 垂直窗口分隔
vim-7.0 自动补完功能,拼写检查功能,括弧高亮显示功能,分页(tabs)功能,撤销分支功能.
-------------------------------------------------------------------------

当然7.0的功能还不只这么多,还有:
    缩进,重新编排格式
    语法高亮
    无限制的"撤消"和"重做"
    多个剪切,粘贴板
    拼写检查
    多语言支持
    可扩展性强
        宏,函数
        自定义键
        自己定制vimrc(很多人的这个文件都写得跟天书似的,可能主要考察一下记忆力)
    操作文本串,多行,矩形块
    几乎可以识别任何文本文件类型
    没有行长度和文件大小的限制(操作系统有限制除外)
    自动识别UNIX,MAC,MSWIN的行结尾符
    二进制文件编辑
    等等等等.....

毕竟是个世界一流文本编辑器.从7.0升级7.1就开发了1年多时间~~~

vim老版源码下载:
ftp://ftp.vim.org/pub/vim/old
新版源码:
ftp://ftp.vim.org/pub/vim/unix/

源码下载url:

https://vim.sourceforge.io/sources.php

[*]https://github.com/vim

https://github.com/nuvie/nuvie

http://download.chinaunix.net/download/0001000/20.shtml

http://ftp.gnu.org/gnu/src-highlite/

http://www.cs.cmu.edu/~awb/pub/minix/src/

[*]https://github.com/Stichting-MINIX-Research-Foundation/minix

https://github.com/xem/minix86

https://github.com/wieck/minix

https://github.com/pikpik/minix-pkgsrc

https://github.com/rhiguita/lab-minix

https://github.com/0xffea/MINIX3

https://github.com/nilbus/minix

https://github.com/macminix/MacMinix

最新文章

  1. Linux入侵检测常用命令
  2. http://blog.csdn.net/jyw935478490/article/details/51233931
  3. HDU 4619 Warm up 2(2013多校2 1009 二分匹配)
  4. 删除qq历史签名
  5. 使用synchronize同步关键字来同步代码快
  6. 安装grid之前检查配置 ,报错如下
  7. python django学习资料网站
  8. C# ref_out_params方法的参数_4种类型的参数
  9. Oracle参数设置之set与reset的实际案例
  10. vscode调试html页面,及配置说明
  11. 分布式服务框架HSF
  12. 如何从GitHub下载csv文件
  13. C++生成GUID
  14. Matlab小波工具箱的使用2
  15. 开源流媒体服务器SRS学习笔记(2) - rtmp / http-flv / hls 协议配置 及跨域问题
  16. HTTP错误405
  17. jlink下载不进去程序
  18. UUID,加密解密算法的使用
  19. PHP——小尾巴之权限管理
  20. 基于注解的 Spring MVC 简单入门

热门文章

  1. CSS : @media 示例
  2. [leetcode-609-Find Duplicate File in System]
  3. Daily Scrum02 11.29
  4. Linux的常用目录学习笔记
  5. lintcode-111-爬楼梯
  6. lintcode-106-排序列表转换为二分查找树
  7. C# 利用WMI对象获取物理内存和可用内存大小
  8. C++编码规范101
  9. [剑指Offer] 7.斐波那契数列
  10. log4net将日志写入ElasticSearch