Mapeando um comando de shell canalizado no Vim

6

Em uma pergunta anterior, perguntei sobre a saída do código avaliado para uma nova janela no MacVim. Eu obtive uma ótima solução, mas ela apresentou outra questão: Como posso mapear um comando de chave no meu .vimrc que envolve saída de piping no shell?

Como um exemplo simples, digamos que eu queria enviar os resultados de ls -a para uma nova janela do MacVim. Na linha de comando do Vim, posso inserir !ls -a | mvim - e os resultados aparecerão em uma nova janela. Ótimo! Agora, adiciono isso ao meu .vimrc :

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

O Vim agora gera um erro toda vez que tento originar meu .vimrc , que diz o seguinte:

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

Alguma idéia de como superar isso?

    
por michaelmichael 23.04.2010 / 23:08

1 resposta

7

Tente colocar isso no seu arquivo ~/.vimrc :

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

ou

nmap <Leader>r :w !ls \| mvim -<CR>
    
por 24.04.2010 / 00:07

Tags