On Wednesday, June 20, 2012 12:48:45 AM UTC-5, Christian Brabandt wrote: > > You need to set shellquote. >
Are you sure? gvim -N -u NONE -i NONE :set shellxquote= shellquote=\" shelltemp :.!echo "test|moretest" shell returned 255 line becomes: 'moretest""' is not recognized as an internal or external command, operable program or batch file. (various experiments with cmd /c and cmd /k still won't let me see the executed command, and give some error or another) :set shellxquote=( shellquote=\" :.!echo "test|moretest" shell returned 255 E485: Can't read file C:\tmp\VIo2E3.tmp Line remains blank. Oh, here we go, with shellxquote=( and shellquote=\": :.!cmd /c "echo "test|moretest"" No errors, line becomes "test|moretest" as intended. Note with shellxquote unset, this still does not work. However, my original use case, trying to filter through Perl, does not work if we need to run it through cmd /c first. It replaces the line with a blank line instead. I'm pretty sure cmd /c doesn't take input on stdin and thus can't act as an actual filter. If there is a way to actually accomplish filtering through a program with '|' as an argument on Windows gvim, I'd love to know. If there's not a way to do so, I think there needs to be. 'shelltemp' probably should not default to off, since according to :help 'shelltemp' that will prevent Filter\(Read\|Write\)\(Pre\|Post\) autocmds from triggering, and also potentially cause encoding problems. Plus, unsetting shelltemp seems like a hacky workaround, not a real solution for building the wrong command line. -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php