javascriptを直接実行して出力を表示するにはどうすればよいですか?


11

私はDOM操作なしでJavaScript言語機能を使っていくつかのテストを行っています。だから私はjsファイルを編集していて、それを単に実行してコンソール出力を表示する方法を知りたいですか?moll / vim-nodeプラグインをインストールしましたが、jsコードを実行する方法がわかりません。


3
のようなものを試すことができ:!node %ます。これは外部nodeプログラムにシェルアウトし、現在のファイル名を引数として渡します。画面に出力が表示され、Enterキーを押して閉じることができます。
tommcdo 2015

上記の@tommcdoによるコメントは、スライムなどのより複雑な手段を通じて私が達成しようとしていたすべてを満たした、簡潔で優れたソリューションです。
ジェローム2018年

回答:


5

このvim wikiaエントリに従って、新しいバッファースクリプトへのシェル実行を作成し、それを拡張して、nodeを使用してコードを実行できます。

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

次に、実行:RunJS %すると、node.js実行の出力を含む新しいバッファーが取得されます。オプションで、次のものを使用して直接呼び出すことができます:Shell <cmd>


4

Codiはあなたが探しているものだと思います。JavaScriptと他のいくつかの言語をサポートしています。

ここに画像の説明を入力してください


3

プラグインは必要ありません!シェルコマンドでノードを実行できます:!

ファイル全体を実行する :!/usr/local/bin/node %

現在の行を実行 :exec '!/usr/local/bin/node' '-e' shellescape(getline('.'))


0

この目的のために、https://github.com/Shougo/vimshell.vimを強くお勧めします

そのvimプラグインは、vim内で端末を実行できるようにします。ターミナルを新しいタブで開くことができます

:VimShellTab

またはquickfixウィンドウで

:VimShellPop

次に、通常どおりコマンドを実行できます。

node
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.