91

マウスを使用せずに emacs でブロックを選択または強調表示したいのですが、vim のビジュアル モードのようにキーボードから行います。キーボードからこれを行う最も簡単な方法は何ですか?

4

9 に答える 9

82

質問を正しく理解していれば、もともと長方形の領域に関するものではありません。

C-Spc現在の位置にマークを付けます。

カーソルがその後どこにあっても、最後のマークと現在の位置の間のテキストが「選択」されます ( をアクティブtransient-mark-modeにすることでこれを強調表示できますが、強調表示したくない場合はマークを削除する必要があることも意味します)。

次のようなコマンドを使用して、その領域を操作できます。

C-w. . 地域を殺します。これにより、リージョンが削除され、キル リングに入れられます。
C-y. . ヤンク。これにより、kill リングから最後のスニペットが挿入されます。
M-y. . サイクルキルリング。の直後にC-y、ヤンクされた部分がキルリングの他のスニペットに置き換えられます。
M-w. . リージョンをキル リングに保存します。と同様C-wですが、削除しません。

これはあくまでも基本的な使い方です。マークには他にも用途があります。チュートリアル ( C-h t) をお勧めします。

于 2009-03-18T12:20:11.550 に答える
67

emacs の region-rectangle を見てください。

要するに、 - でいつものように選択を開始し、Control-Spaceでリージョンを削除し、 Control-で削除されたブロックをx r kペースト (またはヤンク)します。Controlx r y

于 2009-03-18T10:36:14.047 に答える
38

Emacs 24.4 には、rectangle-mark-modeが追加されました。それを呼び出す Cx スペース。

于 2014-10-29T15:35:00.597 に答える
16

記事「長方形の選択範囲の操作」、特にコメント セクションを参照してください。「CUA 長方形サポート」というタイトルのCUA モード ドキュメントのセクションも参照してください。vimeo にも素敵なビデオがあります。

于 2009-03-18T10:55:16.200 に答える
7

Control-を使用Spaceしてマークを設定し、カーソルを移動します。

選択項目transient-mark-modeが強調表示されます。M- x transient-mark-mode.

カスタマイズを使用して、デフォルトでこのモードを有効にするように Emacs をセットアップできます。M- x customize-option RET transient-mark-mode.

于 2009-03-18T10:38:04.447 に答える
0

Edin Salkovicの回答を拡張するために、CUAモードを使用している場合は、を使用して視覚的なブロック選択を開始できます。CUAのドキュメントで説明されているブロック選択を制御するためのショートカットはたくさんあります。

于 2012-06-11T16:34:44.320 に答える