如何在gvim中运行JavaScript?

4

我的系统:xp+gvim。
我已经打开了gvim来编辑一句JavaScript语句,文件还没有命名。

print(sum(range(1, 10)));

我希望将<F7>映射到javascript,在_vimrc中如何编写映射语句? 配置完成后,输入F7时如何获得55
我遵循elclanrs的建议,但出现错误输出。
C:\WINDOWS\system32\cmd.exe /c ( node ^<C:\DOCUME~1\sanya\LOCALS~1\Temp\VIi8C.tmp)    
[stdin]:1    
print(sum(range(1, 10)));    
      ^    
ReferenceError: range is not defined    
    at [stdin]:1:11    
    at Object.<anonymous> ([stdin]-wrapper:6:22)    
    at Module._compile (module.js:456:26)    
    at evalScript (node.js:532:25)    
    at ReadStream.<anonymous> (node.js:154:11)    
    at ReadStream.EventEmitter.emit (events.js:117:20)    
    at _stream_readable.js:920:16    
    at process._tickCallback (node.js:415:13)    
shell returned 8    
Hit any key to close this window...    

enter image description here


学会使用Markdown,它将有助于您获得帮助。@elclanrs的答案是正确的,如果您在使用Node时遇到问题,请在Stack Overflow上使用node.js标签提出新问题。 - romainl
1个回答

8

在VIM中运行JavaScript的最简单方法是安装NodeJS,然后使用以下命令在VIM中将当前缓冲区运行在Node中:

:w !node

您甚至不需要保存它,可以使用console.log

console.log(sum(range(1, 10)));

映射 F7。适用于当前文件:

map <F7> :call Run() <cr>
function Run()
  exec "! node %"
endfunction

要在浏览器中执行它,您只需在HTML中将其编写为脚本:
<script>
  alert('in browser!');
</script>

在浏览器中运行它,例如按下F5:

map <F5> <Esc>:silent !google-chrome %<cr>

变量:定义Run()以执行execute'!node console.log('getline('。')')'(未经测试)。这将执行当前行。 - benjifisher

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接