在Vim中编辑一个ruby程序后,是否可以在编辑器中运行它,而不使用命令行?
zlwx9yxi1#
在Vim中,您可以使用以下命令运行当前缓冲区::!ruby %它可能有帮助,也可能没有帮助,这取决于您的用例。同样,可以使用:!command调用任何shell命令
:!ruby %
:!command
nhaq1z212#
这是一个老问题,但我想通过@xavier调整答案把这个放在.vimrc中,你就可以运行当前的ruby脚本,而不必每次都按ENTER键确认:
.vimrc
autocmd BufRead, *.rb nmap <leader>r :silent !{ruby %}<cr>
9lowa7mx3#
作为对@Xavier解决方案的补充,我建议在.vimrc中以以下方式绑定它:
" run ruby code using leader-r only when inside a .rb file au BufRead, *.rb nmap <leader>r :!ruby %<cr>
i1icjdpr4#
是的,这是可能的。例如,让我们说我想写在一个文档中的词hello 100000现在我不会手动做,但我会使用ruby脚本,并在vim中运行它。在终端创建一个新的文件键入vim script.rb键入以下代码:
10000.times do puts "hello" end
在退出之前,请按escape键,然后键入以下内容:
:w ! ruby > testfile.txt
这将在vim中运行脚本,并将返回的字符串添加到名为testfile的文本文件中。确保文件在同一目录中,或者可以指定目录沿着名称。
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>
rm5edbpk6#
将此行添加到“vimrc”中并保存文件
ennoremap <C-r> :!ruby %
按ctrl+r然后回车
6条答案
按热度按时间zlwx9yxi1#
在Vim中,您可以使用以下命令运行当前缓冲区:
:!ruby %
它可能有帮助,也可能没有帮助,这取决于您的用例。
同样,可以使用
:!command
调用任何shell命令nhaq1z212#
这是一个老问题,但我想通过@xavier调整答案
把这个放在
.vimrc
中,你就可以运行当前的ruby脚本,而不必每次都按ENTER键确认:9lowa7mx3#
作为对@Xavier解决方案的补充,我建议在
.vimrc
中以以下方式绑定它:i1icjdpr4#
是的,这是可能的。例如,让我们说我想写在一个文档中的词hello 100000现在我不会手动做,但我会使用ruby脚本,并在vim中运行它。在终端创建一个新的文件键入vim script.rb键入以下代码:
在退出之前,请按escape键,然后键入以下内容:
这将在vim中运行脚本,并将返回的字符串添加到名为testfile的文本文件中。确保文件在同一目录中,或者可以指定目录沿着名称。
hkmswyz65#
您可以使用此功能。
然后,只需创建只适用于ruby的快捷方式。您应该转到ruby文件并按下此快捷方式:)
您可以为任何文件类型创建快捷方式。这是javascript示例:
rm5edbpk6#
将此行添加到“vimrc”中并保存文件
按ctrl+r然后回车