2012-06-13 119 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

好的,我没有看到你的编辑。谢谢。 –