¿Cómo puedo ejecutar javascript directamente y mostrar el resultado?


11

Solo estoy haciendo algunas pruebas con la función de lenguaje JavaScript sin manipulación DOM. ¿Entonces estoy editando un archivo js y me pregunto cómo simplemente ejecutarlo y mostrar la salida de la consola? Instalé el complemento moll / vim-node , pero no tengo idea de cómo ejecutar el código js.


3
Puedes probar algo como :!node %. Esto se aplicará al nodeprograma externo , pasando el nombre de archivo actual como argumento. La salida se mostrará en la pantalla y puede presionar Entrar para descartarla.
tommcdo

El comentario anterior de @tommcdo es una buena solución concisa que satisfizo todo lo que había estado tratando de lograr a través de medios más complicados, como limo, etc.
Jerome

Respuestas:


5

Según esta entrada de vim wikia , puede crear una ejecución de shell para un nuevo script de búfer y luego extenderlo para ejecutar su código usando el nodo.

command! -complete=shellcmd -nargs=+ Shell call s:RunShellCommand(<q-args>)
function! s:RunShellCommand(cmdline)
  let isfirst = 1
  let words = []
  for word in split(a:cmdline)
    if isfirst
      let isfirst = 0  " don't change first word (shell command)
    else
      if word[0] =~ '\v[%#<]'
        let word = expand(word)
      endif
      let word = shellescape(word, 1)
    endif
    call add(words, word)
  endfor
  let expanded_cmdline = join(words)
  botright new
  setlocal buftype=nofile bufhidden=wipe nobuflisted noswapfile nowrap
  call setline(1, 'You entered:  ' . a:cmdline)
  call setline(2, 'Expanded to:  ' . expanded_cmdline)
  call append(line('$'), substitute(getline(2), '.', '=', 'g'))
  silent execute '$read !'. expanded_cmdline
  1
endfunction

command! -complete=file -nargs=* RunJS call s:RunShellCommand('node '.<q-args>)

Luego, si ejecuta :RunJS %, debería obtener un nuevo búfer con la salida de la ejecución de su node.js. Opcionalmente puede llamar a las cosas directamente usando:Shell <cmd>


4

Creo que Codi es lo que estás buscando. Es compatible con JavaScript y algunos otros idiomas.

ingrese la descripción de la imagen aquí


3

No se requiere complemento Puede ejecutar el nodo con el comando de shell:!

Ejecute todo el archivo con :!/usr/local/bin/node %

Ejecute la línea actual con :exec '!/usr/local/bin/node' '-e' shellescape(getline('.'))


0

Recomiendo https://github.com/Shougo/vimshell.vim para este propósito.

Es un complemento vim que le permite ejecutar un terminal dentro de vim. Puede abrir el terminal en una nueva pestaña con

:VimShellTab

o ventana de corrección rápida con

:VimShellPop

entonces puede ejecutar comandos como de costumbre, es decir

node
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.