我有一個交互式Perl腳本,它向STDERR輸出提示並從STDIN讀取行。該腳本的最終輸出是打印到STDOUT的IP地址。這裏有一個這樣的腳本的數字版本作爲例子。在vim中捕獲交互式腳本的輸出
my @pieces;
for (1..4) {
print STDERR "please enter piece $_ of the IP:"; chomp(my $in = <>);
push @pieces, $in;
}
print join '.', @pieces;
print "\n";
我使用vim-fireplace vim插件。這個插件有一個功能,我可以說:
:Connect nrepl://127.0.0.1:9999
我想知道如何配置VIM,這樣,當我發出了一個特定的命令,讓我們說:
:InteractiveConnect
將做到以下幾點:
- 運行Perl腳本,允許我輸入4個IP地址。
- 捕獲Perl腳本輸出的IP地址。
- 將IP地址插入到:Connect命令中
- 運行:Connect命令。根據一些答覆更
有點信息:
如果我把使用這個腳本:
:!/path/to/myscript.pl
然後,它執行罰款,我能看到它打印的結果在Vim窗口,然後
Press ENTER or type command to continue
如果腳本的輸出執行後通過!被保存在一定的緩衝,是possi可以在vimscript中訪問該緩衝區,並用正則表達式捕獲我想要的位(最後一行)?
你想用控制檯來使用vim嗎? –