繁体   English   中英

vim以光标下的单词作为参数运行perl脚本

[英]vim run perl script with word under cursor as argument

是否可以通过键入快捷方式将光标下的单词发送到perl脚本?

我怎么做?

如果光标下的单词包含特殊字符,上述解决方案将不安全。 你应该用

nnoremap <F2> :execute "!/path/to/script.pl ".shellescape(expand("<cword>"), 1)<CR>

代替。

对于整行,将expand("<cword>")替换为getline('.') 对于光标下的文件名,请使用expand("<cfile>")

给定一个perl脚本${HOME}/test.pl ,您可以使用:

:nnoremap <F2> :!${HOME}/test.pl <C-R><C-W><CR>

然后按F2键会将光标下的单词发送到您的脚本。

根据我对上一个问题的回答CTRL - R CTRL - W表示光标下方的单词。

请参阅Vim中的以下帮助主题,以开始编写键盘快捷键:

我的测试脚本:

#!/usr/bin/env perl -w
print "You selected '$ARGV[0]'.\n";

您可以执行以下操作:

nnoremap <f5> :!perl my_script.pl <c-r><c-w><enter>

在您的vimrc中,此行将F5键映射到此字符组合。 CTRL-R CTRL-W在命令行中插入当前单词。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM