VIM 中,只用 vimscript 写插件可能吗?

Vim、Emacs配置和使用
jameschyn
帖子: 60
注册时间: 2011-12-09 11:26

VIM 中,只用 vimscript 写插件可能吗?

#1

帖子 jameschyn » 2011-12-13 9:25

VIM 中,只用 vimscript 写插件可能吗? 不用python 之类的 binding.

EMACS 可以做到只用 elisp 写插件。
头像
redhatlinux10
帖子: 773
注册时间: 2008-01-22 23:24
来自: 三亚
联系:

Re: VIM 中,只用 vimscript 写插件可能吗?

#2

帖子 redhatlinux10 » 2011-12-13 12:22

可以的呀。
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: VIM 中,只用 vimscript 写插件可能吗?

#3

帖子 lilydjwg » 2011-12-13 13:15

绝大多数插件都是只用 Vimscript 的呀。
jameschyn
帖子: 60
注册时间: 2011-12-09 11:26

Re: VIM 中,只用 vimscript 写插件可能吗?

#4

帖子 jameschyn » 2011-12-13 15:14

那我怎么百度时发现有些人喜欢用 python 来写 addon ? 所以,我怀疑是不是 vimscript 的功能不全,或者有 bug .
sarrow
帖子: 403
注册时间: 2007-10-27 1:04

Re: VIM 中,只用 vimscript 写插件可能吗?

#5

帖子 sarrow » 2011-12-13 19:18

vimscript慢。

不过,它的单文件正则表达式快。

多文件的正则表达式,比不过emeditor。

以前尝试过,用正则表达式替换上百(具体数量记不得了)文件,emeditor用了若干分钟搞定。vim我则吃了顿午饭,中途回来望了一下,又去吃饭了。

单文件的正则替换,就在内存替换,不用写入硬盘的那种,上10M的文件,vim用起来也像是一瞬间。emeditor,则慢了一点。

当然,也有可能是我vim设置上的问题。
xvii
帖子: 54
注册时间: 2008-03-12 14:33

Re: VIM 中,只用 vimscript 写插件可能吗?

#6

帖子 xvii » 2011-12-13 21:04

如果不涉及多线程、网络编程、多媒体等,vimscript应该够用了。
操作系统:Linux erocpil 2.6.38-gentoo-r6 #2 SMP Sun Sep 11 10:15:16 GMT 2011 x86_64 Intel(R) Core(TM)2 CPU T5200 @ 1.60GHz GenuineIntel GNU/Linux
编程语言:C/C++,Perl。
谷歌代码:manshow-重新编译的win32版本Vim,加入诸多特性:非等宽中文字体(如微软雅黑),脚本语言接口(如Perl,Python,Lua),透明效果等。
个人主页:http://lyx.us.tc/
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: VIM 中,只用 vimscript 写插件可能吗?

#7

帖子 lilydjwg » 2011-12-13 23:04

xvii 写了:如果不涉及多线程、网络编程、多媒体等,vimscript应该够用了。
网络可以调用命令的,netrw 就是这么做的。
jameschyn 写了:那我怎么百度时发现有些人喜欢用 python 来写 addon ? 所以,我怀疑是不是 vimscript 的功能不全,或者有 bug .
因为你搜索的是“vim addon python”吧?反正我是没发现人们更喜欢用 python 而不是 viml。不过除了 viml 外,一般都是用的 python,国外也比较喜欢用 ruby,用 perl、lua 等的没见过。

viml 的确功能不全,现在他们正在讨论添加位操作呢。bug 有的话也应该已经被 fix 了呀。
头像
Fermat618
帖子: 728
注册时间: 2008-12-28 16:01

Re: VIM 中,只用 vimscript 写插件可能吗?

#8

帖子 Fermat618 » 2011-12-14 0:48

jameschyn 写了:那我怎么百度时发现有些人喜欢用 python 来写 addon ? 所以,我怀疑是不是 vimscript 的功能不全,或者有 bug .
找vim的信息去百度干什么
爱因斯坦会弹钢琴
爱因斯坦会拉小提琴
爱因斯坦会骑自行车
xvii
帖子: 54
注册时间: 2008-03-12 14:33

Re: VIM 中,只用 vimscript 写插件可能吗?

#9

帖子 xvii » 2011-12-14 0:52


网络可以调用命令的,netrw 就是这么做的。
我不喜欢调用命令,而是直接用Perl的模块,比如threads.pm。
另外,为了避免混淆不同的正则表达式,我有时也会这样用Perl接口:

代码: 全选

:perldo s/(\w+)/$count{$1}++; $1/ge
:perl VIM::Msg("$count{perl}")
在vim脚本里也能这样用。
操作系统:Linux erocpil 2.6.38-gentoo-r6 #2 SMP Sun Sep 11 10:15:16 GMT 2011 x86_64 Intel(R) Core(TM)2 CPU T5200 @ 1.60GHz GenuineIntel GNU/Linux
编程语言:C/C++,Perl。
谷歌代码:manshow-重新编译的win32版本Vim,加入诸多特性:非等宽中文字体(如微软雅黑),脚本语言接口(如Perl,Python,Lua),透明效果等。
个人主页:http://lyx.us.tc/
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

Re: VIM 中,只用 vimscript 写插件可能吗?

#10

帖子 fanhe » 2011-12-14 1:54

有很多功能vim script 都不提供的,例如我想用 sql 数据库,例如我要解析 xml

需要编辑器之外的功能还是用个扩展语言吧,省事
能在里面跑 python,一切皆有可能啊
jameschyn
帖子: 60
注册时间: 2011-12-09 11:26

Re: VIM 中,只用 vimscript 写插件可能吗?

#11

帖子 jameschyn » 2011-12-14 9:33

在编辑器里面用数据库干嘛?
有这个必要么?
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

Re: VIM 中,只用 vimscript 写插件可能吗?

#12

帖子 fanhe » 2011-12-14 11:54

jameschyn 写了:在编辑器里面用数据库干嘛?
有这个必要么?
你怎么知道人家没必要?

如果 vim 只做编辑的话,干嘛加其他 python, perl 之类的接口?

你不用,不代表人家不用
头像
rykka
帖子: 59
注册时间: 2011-06-24 9:14

Re: VIM 中,只用 vimscript 写插件可能吗?

#13

帖子 rykka » 2011-12-14 11:55

哈哈,其实将python整合为vim内置语言是排在愿望列表第一位的
1 239 (-39) 92 -11 add integration with Python instead of inventing more Vim script
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: VIM 中,只用 vimscript 写插件可能吗?

#14

帖子 lilydjwg » 2011-12-14 14:54

xvii 写了:

网络可以调用命令的,netrw 就是这么做的。
我不喜欢调用命令,而是直接用Perl的模块,比如threads.pm。
另外,为了避免混淆不同的正则表达式,我有时也会这样用Perl接口:

代码: 全选

:perldo s/(\w+)/$count{$1}++; $1/ge
:perl VIM::Msg("$count{perl}")
在vim脚本里也能这样用。
那条 perldo 没看懂。。。
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: VIM 中,只用 vimscript 写插件可能吗?

#15

帖子 lilydjwg » 2011-12-14 14:54

fanhe 写了:有很多功能vim script 都不提供的,例如我想用 sql 数据库,例如我要解析 xml

需要编辑器之外的功能还是用个扩展语言吧,省事
能在里面跑 python,一切皆有可能啊
好像有个 viml 实现的 xml 解析器的。。。
回复