Emacs では現在のカーソル位置をポイントと呼びます。移動コマンドはポイントを移し、編集コマンドはその周辺にテキストを挿入、削除、キル、コピー、ヤンクします。以下のキー表記では、C- が Control、M- が Meta(一般には Alt)を意味します。
高度なテキスト操作 · レッスン 12
Emacs 編集
ポイントを移動し、リージョンを有効にして、Emacs のキルリングコマンドでテキストを編集する方法を学びます。
文字と行を単位に移動する
矢印キーなど、プラットフォームの移動キーも使えることがありますが、Emacs の標準的な移動コマンドは、端末とグラフィカルセッションのどちらでも利用できます。
C-f:前方へ 1 文字移動するC-b:後方へ 1 文字移動するC-n:次の行へ移動するC-p:前の行へ移動するC-a:行頭へ移動するC-e:行末へ移動する
ポイントを次の行へ移動する Emacs のキーはどれですか?
単語とバッファー境界を単位に移動する
Meta コマンドはより大きな単位を移動します。
M-f:前方へ 1 単語移動するM-b:後方へ 1 単語移動するM-<:バッファーの先頭へ移動するM->:バッファーの末尾へ移動する
多くのキーボードでは Alt が Meta として働きます。その組み合わせが使えない場合、Esc に続いて対象のキーを押すと、同等の Meta コマンドを送れることがあります。
ポイントをバッファーの末尾へ移動する Emacs のキーはどれですか?
リージョンを定義する
マークは保存されたバッファー位置です。ポイントとマークの間のテキストをリージョンと呼びます。一部の文書で C-space と表記される C-SPC を押して set-mark-command を実行し、その後ポイントを移動すると、アクティブなリージョンが広がります。
端末では C-SPC が C-@ として符号化されることがあります。ハイライト表示は transient-mark の設定によって異なりますが、それでもポイントとマークがリージョンを定義します。
ポイント位置にマークを置き、リージョンの定義を始めるキーはどれですか?
リージョンをキルまたはコピーする
Emacs はキルまたはコピーしたテキストをキルリングへ保存します。
C-w:アクティブなリージョンを削除し、キルリングへ追加するM-w:アクティブなリージョンを削除せず、キルリングへコピーするC-k:ポイントから行末までをキルする。繰り返すと改行も含められる
キルは、削除したテキストを後でヤンクできるよう保持するため、通常の削除以上の操作です。
アクティブなリージョンを削除せず、キルリングへコピーするキーはどれですか?
キルリングからヤンクする
C-y で直近のキルリングエントリをポイント位置へヤンクします。ヤンク直後の M-y は、挿入したテキストを以前のキルリングエントリへ置き換えます。M-y を繰り返すとエントリを順番に切り替えます。
C-y
M-y
C-y の後に無関係なコマンドを実行すると、M-y は同じ yank-pop の文脈では動作しなくなります。
直近のキルリングエントリをポイント位置へ挿入するキーはどれですか?
*scratch* または使い捨てのファイルで練習してください。ポイントを移動してマークを設定し、1 つのリージョンをコピーし、別のリージョンをキルして、両方をヤンクで戻します。結果を残す価値がある場合にだけ保存してください。
レッスン完了
Emacs 編集 を完了しました
これで、ポイント、マーク、キルリングを使って Emacs のテキストを移動し、並べ替えられるようになりました。
Control コマンドで文字または行を単位に移動する。
Meta コマンドで単語またはバッファー境界を単位に移動する。
C-SPCでマークを設定し、リージョンを定義する。C-wでキルし、M-wでコピーする。C-yでヤンクし、直後にM-yでエントリを切り替える。