从vim运行ruby代码

uqzxnwby  于 2022-11-11  发布在  Ruby
关注(0)|答案(6)|浏览(149)

在Vim中编辑一个ruby程序后,是否可以在编辑器中运行它,而不使用命令行?

zlwx9yxi

zlwx9yxi1#

在Vim中,您可以使用以下命令运行当前缓冲区::!ruby %
它可能有帮助,也可能没有帮助,这取决于您的用例。
同样,可以使用:!command调用任何shell命令

nhaq1z21

nhaq1z212#

这是一个老问题,但我想通过@xavier调整答案
把这个放在.vimrc中,你就可以运行当前的ruby脚本,而不必每次都按ENTER键确认:

autocmd BufRead, *.rb nmap <leader>r :silent !{ruby %}<cr>
9lowa7mx

9lowa7mx3#

作为对@Xavier解决方案的补充,我建议在.vimrc中以以下方式绑定它:

" run ruby code using leader-r only when inside a .rb file
au BufRead, *.rb nmap <leader>r :!ruby %<cr>
i1icjdpr

i1icjdpr4#

是的,这是可能的。例如,让我们说我想写在一个文档中的词hello 100000现在我不会手动做,但我会使用ruby脚本,并在vim中运行它。在终端创建一个新的文件键入vim script.rb键入以下代码:

10000.times do
       puts "hello"
end

在退出之前,请按escape键,然后键入以下内容:

:w ! ruby > testfile.txt

这将在vim中运行脚本,并将返回的字符串添加到名为testfile的文本文件中。确保文件在同一目录中,或者可以指定目录沿着名称。

hkmswyz6

hkmswyz65#

您可以使用此功能。

function RunWith (command)
  execute "w"
  execute "!clear;" . a:command . " " . expand("%")
endfunction

然后,只需创建只适用于ruby的快捷方式。您应该转到ruby文件并按下此快捷方式:)

autocmd FileType ruby nmap <Leader>e :call RunWith("ruby")<cr>

您可以为任何文件类型创建快捷方式。这是javascript示例:

autocmd FileType js nmap <Leader>e :call RunWith("node")<cr>
rm5edbpk

rm5edbpk6#

将此行添加到“vimrc”中并保存文件

ennoremap <C-r> :!ruby %

按ctrl+r然后回车

相关问题