如何在 Windows 版 Vim 8 中执行包含管道字符的 shell 命令?

如何在 Windows 版 Vim 8 中执行包含管道字符的 shell 命令?

如果我在 Windows 下的 Vim 中执行 ex 命令%!perl -lpE "s/a|b/c/",则会打开一个命令行,其中包含生成的命令

C:\WINDOWS\system32\cmd.exe /c (perl -lpE ^"s/a ^<C:\Users\Jo\AppData\Local\Temp\VIi83B6.tmp ^|b/c/^" ^>C:\Users\Jo\AppData\Local\Temp\VIo83B7.tmp 2^>^&1)

这会错误地在竖线字符前插入输入重定向。我该如何更改此行为以使我的命令正确运行?

答案1

我打开了问题为此,并被告知作为一种解决方法,我可以尝试不使用临时文件::set noshelltemp 这种解决方法对我来说很有效。

相关内容