在Vim中格式化Ruby代码

ops*_*psb 27 ruby vim code-formatting

现在转移到Vim.在TextMate中,我可以通过点击格式化代码Cmd- - .Alt [我如何在Vim中实现同样的目标?


请参阅以下答案以获取该命令.我发现我还需要以下内容,.vimrc以便Vim知道如何自动提交Ruby.

if has("autocmd")
  filetype indent on
endif
Run Code Online (Sandbox Code Playgroud)

Cod*_*eef 41

Vimcasts一个关于这个主题的有用的截屏视频,你可能会感兴趣

gg=G

gg => go to start of file
=  => apply autoformatting
G  => ... to the end of file
Run Code Online (Sandbox Code Playgroud)

  • 请在**重新格式化**和**重新投入**之间有所区别.这是两件不同的事情. (4认同)

lza*_*zap 15

当我看到关于Vim和重新格式化和重新定位的问题时,我通常会感到困惑.但这很容易.

使用=键完成的重新定位是一个在不插入任何线条末端的情况下改变线条偏移的过程 - 没有硬包装.简单地说,所选行的起始列可以更改,但内容不能.

另一方面,重新格式化是完全重写所选代码.简单地说,根据Vim中定义的语言规则删除所有内容并重新编写.好吗,对吧?

用于重新注册的常用模式是转到文件(gg)的开头,更改为行选择(V),转到文件的末尾(G)并执行reidentation(=).

这是在vim中缩进:ggVG=

重新格式化模式从完全相同的键(ggVG)开始,但不是等于键,而是gq重新格式化Vim命令.

这是vim中格式:ggVGgq

这在每个Vim实例中都是开箱即用的,即使是纯文本也是如此.只有当Vim不理解编程语言时,才需要为它提供正确的格式化规则(通常是一堆必须转到.vim目录结构的.vim文件).

只有安装了插件vim-ruby时,重新格式化Ruby才有效.

我不得不在我的博客上发布这个;-) Vim不是很酷吗?它是.