Jak mogę uruchomić javascript bezpośrednio i wyświetlić wynik?


11

Właśnie przeprowadzam testy z funkcją języka JavaScript bez manipulacji DOM. Więc edytuję plik js i zastanawiam się, jak go po prostu uruchomić i wyświetlić wyjście konsoli? Zainstalowałem wtyczkę moll / vim-node , ale nie mam pojęcia, jak uruchomić kod js.


3
Możesz spróbować czegoś takiego :!node %. Spowoduje to wysłanie powłoki do nodeprogramu zewnętrznego , przekazując bieżącą nazwę pliku jako argument. Wyjście zostanie wyświetlone na ekranie i możesz nacisnąć klawisz Enter, aby je zamknąć.
tommcdo 10.04.15

Powyższy komentarz @tommcdo jest dobrym zwięzłym rozwiązaniem, które spełniło wszystko, co starałem się osiągnąć za pomocą bardziej skomplikowanych środków, takich jak szlam i tak dalej.
jerome

Odpowiedzi:


5

Zgodnie z tym wpisem wiki możesz utworzyć wykonanie powłoki dla nowego skryptu buforowego, a następnie rozszerzyć go, aby uruchamiał kod za pomocą węzła.

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

Następnie, jeśli uruchomisz :RunJS %, powinieneś otrzymać nowy bufor z danymi wyjściowymi wykonania node.js. Opcjonalnie możesz dzwonić do rzeczy bezpośrednio za pomocą:Shell <cmd>


4

Myślę, że Codi jest tym, czego szukasz. Obsługuje JavaScript i niektóre inne języki.

wprowadź opis zdjęcia tutaj


4

Nie wymaga wtyczki! Możesz uruchomić węzeł za pomocą polecenia powłoki:!

Uruchom cały plik za pomocą :!/usr/local/bin/node %

Uruchom bieżącą linię za pomocą :exec '!/usr/local/bin/node' '-e' shellescape(getline('.'))


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.