繁体   English   中英

如何在Windows中将Vim视觉选择传递给命令行

[英]How to pass a vim visual selection to commandline in Windows

我一直在尝试在Windows中的Vim中使用脱机文档程序zeal。 我得到以下一行,以正常模式打开光标所在的窗口,并在正常模式下打开窗口。

nnoremap gz :sil !start "f:\download\zeal-20140620\zeal.exe" --query "<cword>"<CR>

但我想知道是否存在从可视模式执行此操作的等效方法(例如,创建映射以将可视模式中的选定文本作为双引号中的完整字符串传递给热情)

我尝试在可视模式,!!,转义和使用剑的情况下在Vimhelp中进行查找,但没有看到完全适合我在常规非Cygwin Windows 7环境中进行的操作的内容。

这是几次失败的尝试:

vnoremap gz :sil !start "f:\download\zeal-20140620\zeal.exe" --query "!!"<CR>

vnoremap gz :sil !start "f:\download\zeal-20140620\zeal.exe" --query "'<'>"<CR>

如果您不介意破坏寄存器,则最简单的方法是先拉动外观选择,然后通过:execute将寄存器内容插入命令行:

:vnoremap gz y:exe 'sil !start "f:\download\zeal-20140620\zeal.exe" --query ' . shellescape(@@, 1)<CR>

有关不覆盖寄存器的更详细的方法,请参见如何在vimscript中获得可视选择的文本

暂无
暂无

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

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