Emacs ruby 模式缩进行为
class Foo attr_accessor :a, :time, # ms since epoch :b, :c end
在文本模式下,“a”后面列出的变量将按上面的方式缩进,但在 ruby 模式下,它们将与“attr_accessor”齐平。在这种情况下,如何让 ruby 模式像文本模式一样缩进?请注意,除了所有其他 ruby-mode.el 缩进规则之外,我希望能够选择整个文件并按 cm-\ 以获得上述缩进。
class Foo attr_accessor :a, :time, # ms since epoch :b, :c end
In text mode, the variables listed after 'a' would indent as written above, but in ruby mode they would instead be flush with 'attr_accessor'. How can I get ruby mode to indent like text mode in this situation? Note that I'd like to be able to select the whole file and hit c-m-\ to get the above indentation in addition to all the other ruby-mode.el indentation rules.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这个技巧应该适用于大多数情况。
例子:
This hack should work in the majority of cases.
Example:
来自雷米(评论中):
请注意,Emacs 将正确缩进 class Foo attr_accessor(:a, :time, # ms since epoch :b, :c) end – Rémi Dec 11 '10 at 8:50
您可以添加括号并使其正确缩进 -- I'我在这里添加这个是因为我正在寻找未回答的问题,而这个问题出现了(错误的,因为它已经在评论中得到了回答)。
From Remi (in comments):
Note that Emacs will correctly indent class Foo attr_accessor(:a, :time, # ms since epoch :b, :c) end – Rémi Dec 11 '10 at 8:50
You can add parens and have it indent properly -- I'm adding this here because I'm looking for unanswered questions, and this one comes up (incorrectly, since it has been answered in the comments).
当使用 Emacs 24.4 或更高版本时,默认情况下您的示例将像这样缩进。
When using Emacs 24.4 or newer, your example will be indented like this by default.