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

Aaron Shen
fuente
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>

jecxjo
fuente
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í

Tae
fuente
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('.'))

Nate
fuente
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
usuario3751385
fuente