Come posso eseguire javascript direttamente e mostrare l'output?


11

Sto solo facendo dei test con la funzionalità del linguaggio JavaScript senza manipolazione del DOM. Quindi sto modificando un file js e mi chiedo come eseguirlo semplicemente e mostrare l'output della console? Ho installato il plugin moll / vim-node , ma non ho idea di come eseguire il codice js.


3
Puoi provare qualcosa del genere :!node %. Questo sborserà al nodeprogramma esterno , passando il nome del file corrente come argomento. L'output verrà visualizzato sullo schermo e sarà possibile premere Invio per chiuderlo.
Tommaso

Il commento sopra di @tommcdo è una buona soluzione concisa che ha soddisfatto tutto ciò che stavo cercando di ottenere attraverso mezzi più complicati come melma, eccetera.
Jerome

Risposte:


5

Per questa voce di vim wikia è possibile creare un'esecuzione shell per il nuovo script buffer e quindi estenderla per eseguire il codice utilizzando il 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>)

Quindi se esegui :RunJS %dovresti ottenere un nuovo buffer con l'output dell'esecuzione di node.js. Opzionalmente puoi chiamare le cose direttamente usando:Shell <cmd>


4

Penso che Codi sia quello che stai cercando. Supporta JavaScript e alcune altre lingue.

inserisci qui la descrizione dell'immagine


3

Nessun plugin richiesto! È possibile eseguire il nodo con il comando shell:!

Esegui l'intero file con :!/usr/local/bin/node %

Esegui la riga corrente con :exec '!/usr/local/bin/node' '-e' shellescape(getline('.'))


0

Consiglio vivamente https://github.com/Shougo/vimshell.vim per questo scopo.

È un plug-in di VIM che ti consente di eseguire un terminale all'interno di VIM. È possibile aprire il terminale in una nuova scheda con

:VimShellTab

o finestra di correzione rapida con

:VimShellPop

quindi è possibile eseguire i comandi come al solito, ad es

node
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.