16

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

では、それらをどのように変換しますか?

4

3 に答える 3

23

M-x delete-rectangleまたはを使用してテキスト ファイルの列にデータがある場合M-x kill-rectangle、データの 1 つの列を削除できます。同様に、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して ta-da! 列を並べ替えました:

1. alphorn      alligator    
2. bugle        baboon       
3. cornet       crocodile    
4. didgeridoo   dog          
5. euphonium    elephant     
6. flugelhorn   fish         
7. guitar       gopher       
于 2008-09-12T12:57:50.560 に答える
15

私は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: 殺害 (前述のとおり)
于 2008-09-12T17:03:00.440 に答える