vim 源码分析
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
vim 源码分析的更多相关文章
- 《深入理解Spark:核心思想与源码分析》(前言及第1章)
自己牺牲了7个月的周末和下班空闲时间,通过研究Spark源码和原理,总结整理的<深入理解Spark:核心思想与源码分析>一书现在已经正式出版上市,目前亚马逊.京东.当当.天猫等网站均有销售 ...
- PHP扩展编写、PHP扩展调试、VLD源码分析、基于嵌入式Embed SAPI实现opcode查看
catalogue . 编译PHP源码 . 扩展结构.优缺点 . 使用PHP原生扩展框架wizard ext_skel编写扩展 . 编译安装VLD . Debug调试VLD . VLD源码分析 . 嵌 ...
- 《深入理解Spark-核心思想与源码分析》(一)总体规划和第一章环境准备
<深入理解Spark 核心思想与源码分析> 耿嘉安著 本书共计486页,计划每天读书20页,计划25天完成. 2018-12-20 1-20页 凡事豫则立,不豫则废:言前定,则不跲:事 ...
- Openstack Nova 源码分析 — 使用 VCDriver 创建 VMware Instance
目录 目录 前言 流程图 nova-compute vCenter 前言 在上一篇Openstack Nova 源码分析 - Create instances (nova-conductor阶段)中, ...
- JVM源码分析-JVM源码编译与调试
要分析JVM的源码,结合资料直接阅读是一种方式,但是遇到一些想不通的场景,必须要结合调试,查看执行路径以及参数具体的值,才能搞得明白.所以我们先来把JVM的源码进行编译,并能够使用GDB进行调试. 编 ...
- 鸿蒙内核源码分析(文件概念篇) | 为什么说一切皆是文件 | 百篇博客分析OpenHarmony源码 | v62.01
百篇博客系列篇.本篇为: v62.xx 鸿蒙内核源码分析(文件概念篇) | 为什么说一切皆是文件 | 51.c.h.o 本篇开始说文件系统,它是内核五大模块之一,甚至有Linux的设计哲学是" ...
- 鸿蒙内核源码分析(编译脚本篇) | 如何防编译环境中的牛皮癣 | 百篇博客分析OpenHarmony源码 | v58.01
百篇博客系列篇.本篇为: v58.xx 鸿蒙内核源码分析(环境脚本篇) | 编译鸿蒙原来如此简单 | 51.c.h.o 本篇用两个脚本完成鸿蒙(L1)的编译环境安装/源码下载/编译过程,让编译,调试鸿 ...
- 消息队列的一些场景及源码分析,RocketMQ使用相关问题及性能优化
前文目录链接参考: 消息队列的一些场景及源码分析,RocketMQ使用相关问题及性能优化 https://www.cnblogs.com/yizhiamumu/p/16694126.html 消息队列 ...
- ABP源码分析一:整体项目结构及目录
ABP是一套非常优秀的web应用程序架构,适合用来搭建集中式架构的web应用程序. 整个Abp的Infrastructure是以Abp这个package为核心模块(core)+15个模块(module ...
随机推荐
- JavaSE复习(二)集合
Collection List(存取有序,有索引,可以重复) ArrayList 底层是数组实现的,线程不安全,查找和修改快,增和删比较慢 LinkedList 底层是链表实现的,线程不安全,增和删比 ...
- 另外一种C#多选下拉框
链接: https://pan.baidu.com/s/1tnLgC9P_V8y9qHTYSg8xGA 密码: cwxj
- uva 116 Unidirectional TSP(动态规划,多段图上的最短路)
这道题目并不是很难理解,题目大意就是求从第一列到最后一列的一个字典序最小的最短路,要求不仅输出最短路长度,还要输出字典序最小的路径. 这道题可以利用动态规划求解.状态定义为: cost[i][j] = ...
- java有几种对象(PO,VO,DAO,BO,POJO)
首先,java有几种对象(PO,VO,DAO,BO,POJO) 一.PO:persistant object 持久对象,可以看成是与数据库中的表相映射的java对象.使用Hibernate来生成PO是 ...
- 【python】python中的定义类属性和对像属性
python中变量是没有类型的可以绑定任意类型,但是在语法上不能声明变量. 那我们怎麽来声名一个变量呢? f=None 这样我们给着个变量绑定了以各None类型,我们随时可用重新绑定其它类型.这样我们 ...
- elasticsearch集群及filebeat server和logstash server
elasticsearch集群及filebeat server和logstash server author:JevonWei版权声明:原创作品blog:http://119.23.52.191/ 实 ...
- 【题解】洛谷P1975排序
分块,注意重复的值之间的处理.跟普通分块的操作一样的啦,具体可以参见‘不勤劳的图书管理员’. #include <bits/stdc++.h> using namespace std; # ...
- [NOIP2017]列队 线段树
---题面--- 题解: 之前写的splay,,,然而一直没调出来,我感觉是某个细节想错了,,然而已经重构4次代码不想再写splay了.于是今天尝试了线段树的解法. 首先因为每次出列之后的变化都是将当 ...
- 洛谷 P4859 已经没有什么好害怕的了 解题报告
已经没有什么好害怕的了 题目描述 已经使\(\tt{Modoka}\)有签订契约,和自己一起战斗的想法后,\(\tt{Mami}\)忽然感到自己不再是孤单一人了呢. 于是,之前的谨慎的战斗作风也消失了 ...
- nfs 和samba
NFS,是Network File System的简写,即网络文件系统.网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件.通过使用N ...