vim 脚本怎样把一串字符当作 Ex 命令送到命令行

Vim、Emacs配置和使用
回复
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

vim 脚本怎样把一串字符当作 Ex 命令送到命令行

#1

帖子 自由建客 » 2010-11-27 16:32

比如我的一个函数要完成的功能是完成一个很长的 Ex 命令的前一部分(:vertical botright),后一部分需要用户手动键入(或 new 或 help 等等)。我想让该函数把 :vertical botright 送到命令行,然后返回。用户可接着在 :vertical botright 之后键入后半部分命令而执行。
我试过 menu 和 map 只要不带 <CR> 就是我想要的效果,但现在的条件不是菜单和键映射而是在一个脚本的一个函数中。
头像
lilydjwg
论坛版主
帖子: 4249
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: vim 脚本怎样把一串字符当作 Ex 命令送到命令行

#2

帖子 lilydjwg » 2010-11-27 21:15

代码: 全选

:h input
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: vim 脚本怎样把一串字符当作 Ex 命令送到命令行

#3

帖子 自由建客 » 2010-11-27 21:59

我试过 input() 伪造一个命令行,但补全无论怎么设置都不如真正命令行来得好。
xtz1990
帖子: 452
注册时间: 2010-06-03 22:51

Re: vim 脚本怎样把一串字符当作 Ex 命令送到命令行

#4

帖子 xtz1990 » 2010-11-27 22:31

我安装了VIM,但不知道怎样找出它的图形界面
头像
lilydjwg
论坛版主
帖子: 4249
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: vim 脚本怎样把一串字符当作 Ex 命令送到命令行

#5

帖子 lilydjwg » 2010-11-27 22:54

自由建客 写了:我试过 input() 伪造一个命令行,但补全无论怎么设置都不如真正命令行来得好。
completion 参数设置得对的话应该没什么问题吧。实在不行自定义补全函数好了。
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: vim 脚本怎样把一串字符当作 Ex 命令送到命令行

#6

帖子 自由建客 » 2010-11-27 23:17

lilydjwg 写了:
自由建客 写了:我试过 input() 伪造一个命令行,但补全无论怎么设置都不如真正命令行来得好。
completion 参数设置得对的话应该没什么问题吧。实在不行自定义补全函数好了。
真正的命令行是,输入 edit 后面参数的补全是 file 类型,输入 help 后面的补全类型是 help 。我伪造的命令行怎么设置它都是固定的补全方式,要么有盲区要么就弄一堆没必要的补全候选。
头像
lilydjwg
论坛版主
帖子: 4249
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: vim 脚本怎样把一串字符当作 Ex 命令送到命令行

#7

帖子 lilydjwg » 2010-11-28 12:29

自由建客 写了: 真正的命令行是,输入 edit 后面参数的补全是 file 类型,输入 help 后面的补全类型是 help 。我伪造的命令行怎么设置它都是固定的补全方式,要么有盲区要么就弄一堆没必要的补全候选。
好吧。用 feedkey 把前半部分写出来如何?
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: vim 脚本怎样把一串字符当作 Ex 命令送到命令行

#8

帖子 自由建客 » 2010-11-28 19:19

大侠怎么不早说呢,昨晚深夜我又仔细翻了翻手册,翻到 feedkeys(),我要的就是它! :em09
回复