Vim是一个类似于Vi的文本编辑器,不过在Vi的基础上增加了很多新的特性,Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。但在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至二线, 总的来看, Vim和Emacs同样都是非常优秀的文本编辑器。
Bad apple(vim)代码:
let s:data=readfile("data") function! s:Build2DArray(n,m,v) let res=[] for i in range(a:n) let row=[] for j in range(a:m) call add(row,a:v) endfor call add(res,row) endfor return res endfunction function! s:PrintMap(change) for p in a:change let i=p[0]-1 let j=p[1]-1 let s:map[i][j]=p[2] endfor for i in range(1,s:R) let s=join(s:map[i-1],"") call setline(i,s) endfor endfunction function! s:Initialize() let firstLine=split(s:data[0],' ') let s:R=firstLine[0] let s:C=firstLine[1] set go-=T if has("win32") set guifont=Terminal:h9 else set guifont=Free Mono 8 endif :res 90 let s:map=s:Build2DArray(s:R,s:C,' ') call s:PrintMap([]) endfunction function! s:Start() for line in s:data[1:] call s:PrintMap(map(split(line,"|"),"split(v:val,'_')")) redraw sleep 70m endfor endfunction call s:Initialize() call s:Start()
然后,将Data文件放到和vim程序同文件夹中。
键入 :
:so%
回车
就可以看到字符版Bad Apple的运行画面了。
data文件及vim源代码下载:
http://pan.baidu.com/s/1dD097l3 提取码:9vdo
@ Mayuko