有用的命令
:r!date
在gVim for Windows(而不是cygwin的gVim)中没有那么有用,因为Windows有自己的日期功能,它不能满足我的需要。
所以,像
:r!c:\cygwin\bin\date
会很棒。但要输入的内容很多。考虑到我可能想以这种方式调用一些东西,编写一个函数会很好,我可以传递一个参数foo
然后运行
:r!c:\cygwin\bin\foo
最好的方法是什么?它应该是 1)永久(存储在vimrc或一些启动文件中) 2)尽可能少地执行击键。任何有关创建映射的好地方的建议都值得赞赏。
谢谢!
答案 0 :(得分:2)
我认为,这是一种日常使用的简单解决方案(特别是如果您使用的话) 只会对许多类似系统的命令中的一个感兴趣) 自定义同义词命令。
:command! -nargs=1 -range=% RR <line1>,<line2>read! c:\cygwin\bin\<args>
这告诉Vim创建一个名为RR
的新命令,它接受一个范围和一个范围
(强制性)论证。该命令只是将参数传递给read!
前置
c:\cygwin\bin\
参与论证。
您甚至可以为c:\cygwin\bin\
中的文件提供文件完成功能
目录。您所需要的只是创建完整列表函数,如下所示:
function! RRComplete(A, L, P)
return system('dir /b /l c:\cygwin\bin')
endfunction
然后在创建命令时指定该函数的名称:
:command! -nargs=1 -complete=custom,RRComplete -range=% RR <line1>,<line2>read! c:\cygwin\bin\<args>
答案 1 :(得分:1)
:h strftime()
?
否则,很久以前我写system() wrappers是为了从* nix上的vim执行外部程序,或者使用cygwin的bash或$ COMSPEC作为&amp; shell在win32-gvim上执行外部程序。