Wie kann ich Javascript direkt ausführen und die Ausgabe anzeigen?


11

Ich mache nur einige Tests mit der JavaScript-Sprachfunktion ohne DOM-Manipulation. Ich bearbeite also eine JS-Datei und frage mich, wie ich sie einfach ausführen und die Konsolenausgabe anzeigen soll. Ich habe das Moll / Vim-Node- Plugin installiert , aber keine Ahnung, wie man JS-Code ausführt.


3
Sie können so etwas versuchen :!node %. Dies wird an das externe nodeProgramm weitergeleitet, wobei der aktuelle Dateiname als Argument übergeben wird. Die Ausgabe wird auf dem Bildschirm angezeigt, und Sie können die Eingabetaste drücken, um sie zu schließen.
Tommcdo

Der obige Kommentar von @tommcdo ist eine gute, prägnante Lösung, die alles befriedigte, was ich mit komplizierteren Mitteln wie Schleim usw. erreichen wollte.
Jerome

Antworten:


5

Mit diesem vim-Wikia- Eintrag können Sie eine Shell-Ausführung für ein neues Pufferskript erstellen und diese dann erweitern, um Ihren Code mithilfe des Knotens auszuführen.

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>)

Wenn Sie dann ausführen :RunJS %, sollten Sie einen neuen Puffer mit der Ausgabe der Ausführung von node.js erhalten. Optional können Sie Dinge direkt mit aufrufen:Shell <cmd>


4

Ich denke, Codi ist das, wonach Sie suchen. Es unterstützt JavaScript und einige andere Sprachen.

Geben Sie hier die Bildbeschreibung ein


3

Kein Plugin erforderlich! Sie können den Knoten mit dem Shell-Befehl ausführen:!

Führen Sie die gesamte Datei mit aus :!/usr/local/bin/node %

Führen Sie die aktuelle Zeile mit aus :exec '!/usr/local/bin/node' '-e' shellescape(getline('.'))


0

Ich empfehle https://github.com/Shougo/vimshell.vim für diesen Zweck.

Es ist ein Vim-Plugin, mit dem Sie ein Terminal in Vim ausführen können. Sie können das Terminal in einer neuen Registerkarte mit öffnen

:VimShellTab

oder Quickfix-Fenster mit

:VimShellPop

dann können Sie Befehle wie gewohnt ausführen, dh

node
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.