19

我记得这在emacs中是可能的,但不知道如何。如果我有类似的东西:

'abc' => 1,  
'abcabc' => 2,  
'abcabcabc' => 3,  

我怎样才能将键、箭头和值与这样的东西对齐?

'abc' => 1,  
'abcabc' => 2,  
'abcabcabc' => 3,  

干杯

4

2 回答 2

35
  • 选择地区。

  • 类型M-x align-regexp RET

  • 键入=并按 Enter。

于 2011-06-02T16:39:36.050 回答
21

您也可以使用align命令代替align-regexp. 不同之处在于它align会根据缓冲区的主要模式自动选择要使用的正则表达式。因此,如果您尝试在 c 模式文件中对齐变量初始化和赋值块,那么它将自动执行正确的操作,而无需考虑所需的正则表达式。可以很方便。

例如选择以下行:

int x = 3;
double y = 9.0;
unsigned int z = 6;
const char c = 'A';

并键入M-x align RET. 结果是:

int          x = 3;
double       y = 9.0;
unsigned int z = 6;
const char   c = 'A';

不过,我应该补充一点,这并不总是有效。如果没有为当前缓冲区的主要模式定义正则表达式,则调用align将不执行任何操作。然后,您需要依靠align-regexp. 但这并不是一个很大的不便。我实际上使用align-regexp相当频繁。为方便起见,我定义了一个别名来为自己节省一些击键:

(defalias 'ar #'align-regexp)
于 2011-06-03T19:26:17.583 回答