2014-04-10 58 views
2

我想上產生以下效果emacs的執行對齊:Emacs的右對齊上「)」

m_str  ("some value" ),  
m_frameCount (0),      
m_filteredVolume(1.34),    
m_filteredRawVolume ( -32.f, 0),  
m_integratedValues(params->intVals), 
m_integratedScaledValues (0), 

m_str(    "some value"), 
m_frameCount(     0), 
m_filteredVolume(    1.34), 
m_filteredRawVolume(  -32.f, 0), 
m_integratedValues(params->intVals), 
m_integratedScaledValues(  0), 

我一直在對齊,正則表達式玩弄,試圖改變匹配模式和左/右對齊沒有任何成功。注:我一定要第一個「(」要連接到的第一個字符串

+0

這是用於XEmacs還是Emacs或兩者兼而有之? –

+0

我的問題是針對emacs,但我想這個答案對xemacs也有好處,對吧? – NotANumber

回答

3

試試下面的函數,給定一個區域,首先它清除體內多餘的空格,那麼它就是右對齊

(defun cpp-right-align-format() 
    (interactive) 
    (let ((begin (region-beginning)) 
      (end (region-end))) 
     (replace-regexp "\\s-*(\\s-*" "(" nil begin end) 
     (replace-regexp "\\s-*)" ")" nil begin end) 
     (align-regexp begin end "\\([^(]*\\))," -1))) 
+0

這正是我想要的,非常感謝。 – NotANumber