有比较系统全面的vimscript教程吗?
- redhatlinux10
- 帖子: 773
- 注册时间: 2008-01-22 23:24
- 来自: 三亚
- 联系:
有比较系统全面的vimscript教程吗?
牛牛博客
linux 系统中 Chrome 地址栏输入卡顿的解决方法
Linux 下 MPV 和 VLC 播放器 VAAPI 显卡加速对比
---
using : openSUSE 13.2 ( 3.16.6-2 x86_64 ) , KDE 4.14.2
linux 系统中 Chrome 地址栏输入卡顿的解决方法
Linux 下 MPV 和 VLC 播放器 VAAPI 显卡加速对比
---
using : openSUSE 13.2 ( 3.16.6-2 x86_64 ) , KDE 4.14.2
- fanhe
- 帖子: 2357
- 注册时间: 2007-03-24 23:45
Re: 有比较系统全面的vimscript教程吗?
直接中文手册收工, 建议把内置函数看个N次已熟悉能用的设施, 如果你想要没有提供的设施就必须用其他扩展了, 如 python
之后就是先试着改改脚本, 然后自己试着写一些脚本
vim的脚本其实可以面向对象的, 什么抽象啊, 继承啊, 动态绑定啊都可以实现
之后就是先试着改改脚本, 然后自己试着写一些脚本
vim的脚本其实可以面向对象的, 什么抽象啊, 继承啊, 动态绑定啊都可以实现
- 自由建客
- 帖子: 13468
- 注册时间: 2008-07-30 23:21
- 系统: Debian stable AMD64
- 自由建客
- 帖子: 13468
- 注册时间: 2008-07-30 23:21
- 系统: Debian stable AMD64
Re: 有比较系统全面的vimscript教程吗?
fanhe, 人肉模拟,太累了! 

- acer4740
- 帖子: 1405
- 注册时间: 2010-09-13 19:04
- 来自: 0xFF00EE
- fanhe
- 帖子: 2357
- 注册时间: 2007-03-24 23:45
Re: 有比较系统全面的vimscript教程吗?
字典就是类, 它能保存函数引用, 所以可以实现类方法自由建客 写了:fanhe, 人肉模拟,太累了!
用 extend 实现继承, 动态绑定就根本不成问题, 因为本身就是动态类型
仅仅是思维转变过来而已, 没有多复杂
代码: 全选
let g:MyClass = {}
let g:MyClass.a = 10
let g:MyClass.b = 20
function! g:MyClass.Hello()
echo self.a
echo self.b
endfunction
let cls1 = copy(g:MyClass)
let cls2 = copy(g:MyClass)
let cls1.a = 100
let cls2.b = 200
call cls1.Hello()
call cls2.Hello()
call g:MyClass.Hello()
let g:MyClass2 = {}
" 继承 g:MyClass
call extend(g:MyClass2, copy(g:MyClass), "keep")
function! g:MyClass2.Hello()
echo "I am derive class."
call call(g:MyClass.Hello, [], self)
endfunction
let cls3 = copy(g:MyClass2)
call cls3.Hello()
- 自由建客
- 帖子: 13468
- 注册时间: 2008-07-30 23:21
- 系统: Debian stable AMD64
- fanhe
- 帖子: 2357
- 注册时间: 2007-03-24 23:45
Re: 有比较系统全面的vimscript教程吗?
extend 通用, 你可以用于多继承的时候, extend 在 java 中就是继承的用途
构造方法可以自己写个函数, 如 New(), 然后传参数进去初始化
反正, 自己看着办, 没多复杂的东西
- redhatlinux10
- 帖子: 773
- 注册时间: 2008-01-22 23:24
- 来自: 三亚
- 联系:
Re: 有比较系统全面的vimscript教程吗?
vimscript的使用范围有限啊,终归只能在vim中使用,这么搞,太复杂了吧。会吓坏一堆小朋友的。
javascript这么搞,还能接受,毕竟现在javascript的大规模应用越来越多了。
对于vimscript吧,我觉得还是用面向过程的思路去搞就可以了。
javascript这么搞,还能接受,毕竟现在javascript的大规模应用越来越多了。
对于vimscript吧,我觉得还是用面向过程的思路去搞就可以了。
牛牛博客
linux 系统中 Chrome 地址栏输入卡顿的解决方法
Linux 下 MPV 和 VLC 播放器 VAAPI 显卡加速对比
---
using : openSUSE 13.2 ( 3.16.6-2 x86_64 ) , KDE 4.14.2
linux 系统中 Chrome 地址栏输入卡顿的解决方法
Linux 下 MPV 和 VLC 播放器 VAAPI 显卡加速对比
---
using : openSUSE 13.2 ( 3.16.6-2 x86_64 ) , KDE 4.14.2
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: 有比较系统全面的vimscript教程吗?
Vim 里可以用 Python, Ruby, Lua, Perl, MzScheme, Tcl,c9s 还有个支持 js 的补丁。redhatlinux10 写了:vimscript的使用范围有限啊,终归只能在vim中使用,这么搞,太复杂了吧。会吓坏一堆小朋友的。
javascript这么搞,还能接受,毕竟现在javascript的大规模应用越来越多了。
对于vimscript吧,我觉得还是用面向过程的思路去搞就可以了。
- fanhe
- 帖子: 2357
- 注册时间: 2007-03-24 23:45
Re: 有比较系统全面的vimscript教程吗?
你要处理vim自身事务的时候强行用其他语言扩展, 就知道什么叫蛋疼了redhatlinux10 写了:vimscript的使用范围有限啊,终归只能在vim中使用,这么搞,太复杂了吧。会吓坏一堆小朋友的。
javascript这么搞,还能接受,毕竟现在javascript的大规模应用越来越多了。
对于vimscript吧,我觉得还是用面向过程的思路去搞就可以了。
大型点的插件, 用面向对象的话, 会好不少, 例如 NERDTree 之类
后端的处理你可以完全用其他, 但是你要用 vim 表示出来, 还是 vim script 最好用
- 自由建客
- 帖子: 13468
- 注册时间: 2008-07-30 23:21
- 系统: Debian stable AMD64
Re: 有比较系统全面的vimscript教程吗?
fanhe 写了:你要处理vim自身事务的时候强行用其他语言扩展, 就知道什么叫蛋疼了redhatlinux10 写了:vimscript的使用范围有限啊,终归只能在vim中使用,这么搞,太复杂了吧。会吓坏一堆小朋友的。
javascript这么搞,还能接受,毕竟现在javascript的大规模应用越来越多了。
对于vimscript吧,我觉得还是用面向过程的思路去搞就可以了。
大型点的插件, 用面向对象的话, 会好不少, 例如 NERDTree 之类
后端的处理你可以完全用其他, 但是你要用 vim 表示出来, 还是 vim script 最好用
