コピーした長方形を挿入する代わりに上書きする方法(これはyank-rectangleのデフォルトの動作です)?


8

を使用して「長方形」をコピーした後C-x r M-wC-x r yヤンクまたは長方形を貼り付けます。しかし、それはコピーされた長方形を挿入します。

コピーした長方形を貼り付けて、テキストを上書きするにはどうすればよいですか?

例:

 a b c d e f g
 h i j k▮l m n
 o p q r s t u▮

上記のカーソル位置で囲まれた長方形をM-x copy-rectangle-as-killまたはを使用してコピーしましたC-x r M-w

またはhを使用してキャラクターの前に貼り付けると、結果は次のようになりますM-x yank-rectangleC-x r y

 a b c d e f g
▮l m n k l m n
 s t u r s t u

の代わりに

 a b c d e f g
▮l m n h i j k l m n
 s t u o p q r s t u

どうすればyank-rectangle上書きできますか?


私のために働く。デフォルトの構成を使用するには、-Qフラグを指定してEmacsを実行してみてください。それが機能する場合、それはあなたの設定の何かになるでしょう。
コリン・ベル

ああ!間違って逆の質問をしました。C-x r y上書きする方法を見つけることです。現在、質問を編集しています。
Kaushal Modi 2014

回答:


8

を使用しM-x picture-modeます。 C-c C-yコマンドにバインドされたpicture-yank-rectangle、あなたが望むことを行います。(C-_元に戻すために使用できます。)

これらの関連キーは、次の場所にもありますpicture-mode

  • C-c C-k-長方形をクリアして保存します(picture-clear-rectangle
  • C-c C-w-長方形をクリアしてレジスターに保存します(picture-clear-rectangle-to-register
  • C-c C-x-に似C-c C-yていますが、レジスタで長方形を使用します(picture-yank-rectangle-from-register
  • C-x r r-長方形をレジスタにコピーする(copy-rectangle-to-register

C-c C-c画像モードを終了するために使用します。

をオンにせずに画像モードのコマンドを使用することもできますpicture-modeが、その場合、キーはバインドされていません。とにかくライブラリをロードする必要がありますpicture

たとえば、次のようにできます。

  1. C-x r r長方形をレジスタにコピーするために使用します。
  2. その長方形をヤンクしたい場所にカーソルを置き、既存のテキストを置き換えます。
  3. M-x picture-yank-rectangle-from-register (キーにバインドすることもできます)。

1
ありがとう!M-x picture-yank-rectangle-from-register解決策は私のために素晴らしい作品。私は単に(require 'picture)私の中に入れる必要がありinit.elます。
Kaushal Modi 2014

1

別のアプローチはdelete-selection-mode、initファイルでこれを使用して実行することです。

 (put 'yank-rectangle 'delete-selection 'yank)

しかし、それによってyank-rectangle 常にテキスト置き換えられます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.