如何直接运行javascript并显示输出?


11

我只是在没有DOM操作的情况下使用JavaScript语言功能进行了一些测试。所以我正在编辑一个js文件,我想知道如何简单地运行它并显示控制台输出?我安装了moll / vim-node插件,但不知道如何运行js代码。


3
您可以尝试类似:!node %。这将把node当前文件名作为参数传递给外部程序。输出将显示在屏幕上,您可以按Enter键将其关闭。
tommcdo 2015年

@tommcdo的上述评论是一个很好的简洁解决方案,它满足了我一直试图通过更复杂的方法(例如史莱姆等等)来实现的所有目标。
杰罗姆'18

Answers:


5

通过此vim wikia条目,您可以对新的缓冲区脚本创建shell执行,然后将其扩展为使用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

无需插件!您可以使用shell命令运行node:!

使用以下命令运行整个文件 :!/usr/local/bin/node %

运行当前行 :exec '!/usr/local/bin/node' '-e' shellescape(getline('.'))


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.