vim scrip 能否使用管道

Vim、Emacs配置和使用
头像
xhy
帖子: 3916
注册时间: 2005-12-28 1:16
系统: Ubuntu 12.10 X64
来自: 火星

Re: vim scrip 能否使用管道

#16

帖子 xhy » 2010-12-04 6:57

居然觉得C简单,用python写200行的代码,用C可能要500行.
目前负债150多万
风间星魂
帖子: 490
注册时间: 2009-06-20 23:53

Re: vim scrip 能否使用管道

#17

帖子 风间星魂 » 2010-12-04 11:48

xhy 写了:居然觉得C简单,用python写200行的代码,用C可能要500行.
估计要2000行 :em06
头像
lilydjwg
论坛版主
帖子: 4249
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: vim scrip 能否使用管道

#18

帖子 lilydjwg » 2010-12-04 12:28

xhy 写了:居然觉得C简单,用python写200行的代码,用C可能要500行.
按比例算,Java 应该是1490行。
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

Re: vim scrip 能否使用管道

#19

帖子 fanhe » 2010-12-04 12:32

简单不等于代码量少吧

脚本语言自有它的优势,学学python吧
头像
lilydjwg
论坛版主
帖子: 4249
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: vim scrip 能否使用管道

#20

帖子 lilydjwg » 2010-12-04 12:50

fanhe 写了:简单不等于代码量少吧
至少代码很多的话肯定不简单 :em02
头像
Michael_yan
帖子: 150
注册时间: 2010-11-17 0:03
来自: Bangalore, india.

Re: vim scrip 能否使用管道

#21

帖子 Michael_yan » 2010-12-04 15:58

python,恩,我也准备要学他了。貌似很强大。
吃的苦中苦,方为人上人!
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: vim scrip 能否使用管道

#22

帖子 自由建客 » 2010-12-04 21:09

虽然不懂 python ,但看 vim 的文档,其 python 接口依然很弱。尽管写个 python 脚本能打开管道,能读写流,但没办法和 vim 交换数据,“缓冲区”是唯一的途径。这个是 vim 的文件缓冲区,和流那样的行缓存是两码事,很麻烦很变态很无聊。
头像
lilydjwg
论坛版主
帖子: 4249
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: vim scrip 能否使用管道

#23

帖子 lilydjwg » 2010-12-04 21:19

自由建客 写了:虽然不懂 python ,但看 vim 的文档,其 python 接口依然很弱。尽管写个 python 脚本能打开管道,能读写流,但没办法和 vim 交换数据,“缓冲区”是唯一的途径。这个是 vim 的文件缓冲区,和流那样的行缓存是两码事,很麻烦很变态很无聊。
很明显你没有阅读文档:
Vim 手册 写了:

代码: 全选

vim.eval(str)						*python-eval*
	使用 vim 内部的表达式处理器来对表达式 str 求值。(参阅 |expression|)。
	返回表达式的结果:
	-如果 Vim 表达式计算结果是字符串或者数值,那么返回一个字符串。
	-如果 Vim 表达式计算结果是 Vim 列表,那么返回一个列表
	-如果 Vim 表达式计算结果是 Vim 字典,那么返回一个字典
	字典和列表被递归扩展。

代码: 全选

vim.command(str)					*python-command*
	执行 vim (ex-模式) 命令 str。无返回值。
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: vim scrip 能否使用管道

#24

帖子 自由建客 » 2010-12-04 21:36

OK!

代码: 全选

let s:str0='fghjkiuyttyuiowerf'
py import vim
py mystr = vim.eval("s:str0")
是可以把 vim 的字符串传给 python 了,那么请问怎样把 python 的字符串传给 vim 以体现“交互”呢?
py vim.set("s:str1", mystr) ?
头像
lilydjwg
论坛版主
帖子: 4249
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: vim scrip 能否使用管道

#25

帖子 lilydjwg » 2010-12-04 22:19

自由建客 写了:OK!

代码: 全选

let s:str0='fghjkiuyttyuiowerf'
py import vim
py mystr = vim.eval("s:str0")
是可以把 vim 的字符串传给 python 了,那么请问怎样把 python 的字符串传给 vim 以体现“交互”呢?
py vim.set("s:str1", mystr) ?

代码: 全选

py vim.command("let somevar = '%s'" % newval.replace("'", "''"))
回复