質問

emacs の Rectangle 関数が非常に便利であるということをいくつかの場所で読みました。それらについて少し読んだのですが、その理由がまったく分かりません。つまり、段落を削除したいときは、最初の行/列をマークし、次に最後の行/列をマークします。これは実際には長方形ですよね?ただし、通常のキルはまだ使用できます...

それで、あなたはそれらを使ってどのような変化をしますか?

役に立ちましたか?

解決

テキスト ファイルの列にデータがある場合、 M-x delete-rectangle または M-x kill-rectangle 単一列のデータを削除できます。同様に、 M-x yank-rectangle テキスト列に貼り付けられます。

たとえば、次のテキストを考えてみましょう。

1. alligator    alphorn
2. baboon       bugle
3. crocodile    cornet
4. dog          didgeridoo
5. elephant     euphonium 
6. fish         flugelhorn   
7. gopher       guitar

ワニのaからギターのgまでお選びください。選択範囲の始まりと終わりは、長方形の対向する 2 つの角をマークします。入力 M-x kill-rectangle するとすぐに次のものが得られます。

1. alphorn
2. bugle
3. cornet
4. didgeridoo
5. euphonium 
6. flugelhorn
7. guitar

次に上の行の最後にマークを置き、必要に応じていくつかのスペースを追加して入力します M-x yank-rectangle そしてタダ!列の順序を変更しました。

1. alphorn      alligator    
2. bugle        baboon       
3. cornet       crocodile    
4. didgeridoo   dog          
5. euphonium    elephant     
6. flugelhorn   fish         
7. guitar       gopher       

他のヒント

私は 2 つの主な目的で四角形を使用するのが好きです。すべての行に同じテキストを挿入するか、テキストの列を削除します (Dave Webb の答えと同様)。

これらには 2 つの便利なショートカットがあります。 C-x r k 長方形を削除します、そして C-x r t 挿入する (他の四角形コマンドもあります) C-x r プレフィックスが付いていますが、これらは私が使用しているものです)。

そこで、スタック オーバーフローの投稿に投稿できるように、コードを取得してフォーマットしたいとします。先頭にスペースを 4 つ付ける必要があります。したがって、最初の行の先頭に移動して、 C-SPC マークを付けてから、最後の行の先頭に移動し、 C-x r t <SPC> <SPC> <SPC> <SPC> <RET>, 、それでできました!その後、それをコピーして Stack Overflow に貼り付けるだけです。これが役立つ、より複雑な状況に遭遇したことがあります。実際に、特定の場所の各行に挿入したいテキストがある場合です。

したがって、Dave Webb のような他の状況では、長方形を削除したい場合は、次のようにします。 C-x r k ただし、そのほうがはるかに速いためです ;-)

また、私によると、 リファレンスカード 最初に開始したときに印刷したものを使用すると、次のことができます。

  • C-x r r:レジスターにコピーする
  • C-x r y:長方形をヤンクする
  • C-x r o:四角形を開き、テキストを右に移動します(それが何を意味するかは関係ありません...)
  • C-x r c:四角形を空白にします (スペースで置き換えることを意味すると思いますが、確認するには試してみる必要があります)
  • C-x r t:テキストのプレフィックス(上記のとおり)
  • C-x r k:殺害(上記の通り)

emacs24+ には、行に番号を付ける機能もあります。

(rectangle-number-lines START END START-AT &optional FORMAT)

Insert numbers in front of the region-rectangle.

START-AT, if non-nil, should be a number from which to begin
counting.  FORMAT, if non-nil, should be a format string to pass
to `format' along with the line count.  When called interactively
with a prefix argument, prompt for START-AT and FORMAT.

にバインドされています C-xrN デフォルトでは。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top