2011-08-12 7 views

Respuesta

15

De Vim, puede ejecutar el búfer en uso con: :!ruby %

Podría ser útil o no dependiendo de su caso de uso.

Del mismo modo, se invoca ningún comando shell mediante el uso de :!command

+0

He intentado poner "Hola mundo", pero:! Ruby% hizo eso - cmd.exe/c ruby ​​test.rb y presione cualquier tecla para cerrar la ventana ... nada más – Sergey

+0

Probablemente debe guardar su búfer antes de ejecutarlo. Así que intente ': w' –

+0

gracias, funciona – Sergey

0
No

realmente. Vim usa ruby, si está vinculado a él en tiempo de compilación, como un extensión idioma para el consumo interno. Puede canalizar el búfer a un intérprete de rubí externo como señala Xavier T.

0

Como una adición a la solución @Xavier ‘s me lo recomiendo vinculante de la siguiente manera dentro de su .vimrc:

" run ruby code using leader-r only when inside a .rb file 
au BufRead, *.rb nmap <leader>r :!ruby %<cr> 
0

sí es posible. Digamos por ejemplo digamos que quiero escribir en un documento word hello 100000 Ahora no lo haré manualmente pero usaré el script de ruby ​​y lo ejecutaré en vim. En terminal de crear un nuevo archivo escribiendo vim script.rb Tipo este código:

10000.times do 
     puts "hello" 
end 

Antes de salir Pulse Escape a continuación, escriba lo siguiente:

:w ! ruby > testfile.txt 

enter Lo que esto hará es que ejecutará el script en el vim y agregará la cadena devuelta en el archivo de texto llamado testfile. Asegúrese de tener el archivo en el mismo directorio o puede especificar el directorio junto con el nombre.

0

Ésta es una vieja pregunta, pero yo quería modificar la respuesta por @xavier

Ponga esto en su .vimrc y usted será capaz de ejecutar la secuencia de rubí actual sin tener que confirmar oprimir la tecla Enter cada vez:

autocmd BufRead, *.rb nmap <leader>r :silent !{ruby %}<cr> 
Cuestiones relacionadas