2012-06-13 123 views

回答

7

編輯:啊,我知道我曾經遇到過這種能力。

cua中的矩形編輯功能提供了此功能。

所以首先啓用cua-selection-mode。這是一個在CUA的好東西,而不復制/剪切/粘貼關鍵變化,因此您可能希望它永久:

(cua-selection-mode 1) 

然後C-RET一個角落,移動點關口對面的角落,和Cq正常填充。 C-RET再次退出矩形模式。

CUA的矩形編輯非常棒。閱讀關於它的評論M-x M-xfind-libraryRETcua-baseRET。查找「CUA矩形支持」標題。

原來的答覆:

(defun my-fill-rectangle (start end) 
    "`fill-region' within the confines of a rectangle." 
    (interactive "*r") 
    (let* ((indent-tabs-mode nil) 
     (content (delete-extract-rectangle start end))) 
    (goto-char start) 
    (insert-rectangle 
    (with-temp-buffer 
     (setq indent-tabs-mode nil 
      fill-column (length (car content))) 
     (insert-rectangle content) 
     (fill-region (point-min) (point-max)) 
     (goto-char (point-max)) 
     (move-to-column fill-column t) 
     (extract-rectangle (point-min) (point)))))) 
+0

事實證明,這是不完全正確,但它是一個良好的開端。我也意識到,我真正想要的只是一種粘貼到矩形中的方式(我將編輯我的原始文章)。如果我弄明白,我會發佈一個解決方案。 –

+0

在這一點上,也許你應該發佈一個新問題,而不是改變問題? – phils

+0

好的,我沒有看到你的編輯。謝謝。 –