Asignación de un comando de shell canalizado en Vim


6

En una pregunta anterior, pregunté sobre cómo enviar el código evaluado a una nueva ventana en MacVim. Obtuve una gran solución, pero presentó otra pregunta: ¿Cómo puedo asignar un comando de teclado en mi .vimrcque implique la salida de tuberías en el shell?

Como ejemplo simple, digamos que quería canalizar los resultados ls -aa una nueva ventana de MacVim. Desde la línea de comando de Vim puedo ingresar !ls -a | mvim -, y los resultados aparecerán en una nueva ventana. ¡Excelente! Ahora, agrego eso a mi .vimrc:

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

Vim ahora arroja un error cada vez que intento obtener mi fuente .vimrc, que dice lo siguiente:

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

¿Alguna idea sobre cómo superar esto?

Respuestas:


9

Intenta poner esto en tu ~/.vimrcarchivo:

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

o

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

increíble. Intenté escapar \|sin resultado. No sabía que podías usar <bar>. ¡Gracias!
michaelmichael

He estado usando vim durante casi una década. Me encontré con esto hoy. Encontré una respuesta de casi 10 años. Increíble. Gracias desde el futuro!
Geoff
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.