4

四角形の領域を選択してその中のテキストのみをラップし、四角形の境界内にとどめたいことを除いて、塗りつぶし領域のようなことをしたいと思います。これを行う方法はありますか?

4

1 に答える 1

7

編集:ああ、私は以前にこの能力に遭遇したことを知っていました。

の長方形編集機能はcua、この機能を提供します。

したがって、最初にを有効にしcua-selection-modeます。これは、コピー/カット/貼り付けキーを変更しないCUAの優れた機能であるため、永続的にオンにすることができます。

(cua-selection-mode 1)

次にC-RET、コーナーをマークするには、ポイントを反対側のコーナーに移動し、C-q通常どおりに塗りつぶします。C-RET再度長方形モードを終了します。

CUAの長方形の編集はかなり素晴らしいです。の解説でそれについて読んでくださいM-x find-library RET cua-base RET。「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))))))
于 2012-06-13T06:51:56.443 に答える