在 Vim 中映射管道 Shell 命令

在 Vim 中映射管道 Shell 命令

在之前的一个问题中,我问过如何在 MacVim 中将求值的代码输出到新窗口。我得到了一个很好的解决方案,但它提出了另一个问题:如何映射.vimrc涉及在 shell 中管道输出的键盘命令?

举一个简单的例子,假设我想将的结果通过管道传输ls -a到一个新的 MacVim 窗口。从 Vim 命令行我可以输入!ls -a | mvim -,结果将显示在新窗口中。太棒了!现在,我将其添加到我的.vimrc

 nmap <Leader>r :w !ls | mvim -<CR>

现在,每次我尝试执行 source my 时,Vim 都会抛出一个错误.vimrc,内容如下:

E492: Not an editor command:  mvim -<CR>

关于如何克服这个问题有什么想法吗?

答案1

尝试将其放入您的~/.vimrc文件中:

nmap <Leader>r :w !ls <bar> mvim -<CR>

或者

nmap <Leader>r :w !ls \| mvim -<CR>

相关内容