2013-11-21 67 views
9

我有一個.dat文件看起來像這樣:與emacs中的列對齊?

NGC0448 A3D:2010B g:o,r:o,i:o 
NGC0474 A3D:2011A,2013A g:o,r:o,i:o,u:o 

現在我想將它們對齊是在這種形式:

NGC0448 A3D:2010B   g:o,r:o,i:o 
NGC0474 A3D:2011A,2013A g:o,r:o,i:o,u:o 

我試着用C-u M-X alignM-x align-regexp=但既不工程。有人能想出一個解決方案嗎?

回答

10

爲什麼你嘗試在=對齊?該示例文本中沒有單個=

假設您的示例具有代表性,您可以在空格上對齊。我將使用\s-(空白語法)而不是實際空間,因爲後者很難看清。

的Mxalign-regexpRET

  • 複雜對準使用正則表達式:\(\s-*\)\s-
  • 括號組修改(證明如果負):1
  • 金額間隔的(或列,如果負數):3
  • 重複在整個線路? (是或否)y
1

如果你只希望在顯示屏對齊,寧願不要修改該文件,你可以嘗試csv-mode(提供GNU ELPA)。您必須指定SPC作爲分隔符(默認情況下爲逗號或TAB),但您可以使用菜單指示模式對齊列。