如何在gVim for Windows中编写函数或宏以向系统调用发送参数?
有用的命令如何在gVim for Windows中编写函数或宏以向系统调用发送参数?,windows,macros,vim,Windows,Macros,Vim,有用的命令 :r!date 在gVim for Windows(不是Cygwin的gVim)中没有那么有用,因为Windows有自己的日期函数,它不满足我的需要 比如 :r!c:\cygwin\bin\date 那太好了。但这是一个很大的类型。考虑到我可能希望以这种方式调用一些东西,编写一个函数会很好,我可以传递一个参数foo,然后运行它 :r!c:\cygwin\bin\foo 最好的方法是什么?应该是: 永久:存储在.vimrc或某些启动文件中 以尽可能少的按键执行 任何关于创建映射的
:r!date
在gVim for Windows(不是Cygwin的gVim)中没有那么有用,因为Windows有自己的日期函数,它不满足我的需要
比如
:r!c:\cygwin\bin\date
那太好了。但这是一个很大的类型。考虑到我可能希望以这种方式调用一些东西,编写一个函数会很好,我可以传递一个参数foo
,然后运行它
:r!c:\cygwin\bin\foo
最好的方法是什么?应该是:
.vimrc
或某些启动文件中:h strftime()
否则,很久以前,我写这篇文章是为了在*nix或win32 gvim上使用cygwin的bash或$COMSPEC as&shell从vim执行外部程序。我认为,对于日常使用来说,这是一个更简单的解决方案(特别是如果您是 只对许多类似系统的命令中的一个感兴趣)是 创建自定义同义词命令:
:command! -nargs=1 -range=% RR <line1>,<line2>read! c:\cygwin\bin\<args>
然后在创建命令时指定该函数的名称:
:command! -nargs=1 -complete=custom,RRComplete -range=% RR <line1>,<line2>read! c:\cygwin\bin\<args>
:命令-nargs=1-完成=自定义,RRComplete-范围=%RR,读取!c:\cygwin\bin\
具体地说,类似于:exe“normal!o”。strftime(“%c”)。“\\e”
将是等效的,除非您知道更好的方法?
:command! -nargs=1 -complete=custom,RRComplete -range=% RR <line1>,<line2>read! c:\cygwin\bin\<args>