【发布时间】:2011-07-24 04:01:23
【问题描述】:
当我有代码时:
a = 1
foo = 2
我想让它看起来像:
a = 1
foo = 2
我可以使用这里定义的 align-to-equals 函数:
Emacs hotkey to align equal signs
通过选择区域并运行该功能。我可以通过将函数定义中的 '=' 更改为 '=>' 来更改函数以用于散列,并具有:
bar = { :a => 1,
:foo => 2 }
转换为:
bar = { :a => 1,
:foo => 2 }
当我选择整个缓冲区并运行缩进区域时,我希望对我的所有代码进行这种对齐。但我希望它能够智能地完成 - 不是将缓冲区中的每个 '=' 与最右边的 '=' 对齐,而是对分配块和单个哈希文字进行对齐。
编辑:为了澄清最后一部分,假设我有以下缓冲区:
a = 1
foo = 2
some_other_code
def fn
bar = { :a => 1,
:foo => 2 }
end
我想做'C-x h'(选择整个缓冲区),'M-C-\'(缩进区域)并让它看起来像这样:
a = 1
foo = 2
some_other_code
def fn
bar = { :a => 1,
:foo => 2 }
end
【问题讨论】:
标签: ruby emacs elisp code-formatting