exchange-point-and-mark
コマンドがにバインドされているC-x C-xが、私はそれは、このような著名な結合に値するなるだろう任意のユースケースを考えることはできません。
を使用しexchange-point-and-mark
て編集テクニックを改善するにはどうすればよいですか?
exchange-point-and-mark
コマンドがにバインドされているC-x C-xが、私はそれは、このような著名な結合に値するなるだろう任意のユースケースを考えることはできません。
を使用しexchange-point-and-mark
て編集テクニックを改善するにはどうすればよいですか?
回答:
私が考えることができる2つのケースがあります:領域の再アクティブ化、および領域のサイズの調整。
ほとんどの場合、このバインディングを使用して、非アクティブ化するコマンドを実行した後、または領域をアクティブ化せずにマークを設定してポイントを移動するコマンドを実行した後、領域を再アクティブ化します。
たとえば、Cを実行して何かを前方に検索します。RETを押して検索を終了し、Cx Cxを押して検索を開始した場所からすべてをマークします。
StackExchangeの回答にいくつかのサンプルelispを含めたいときによくやるもう1つの例:
もう1つのケースは、リージョンをマークしていて、それを拡張/縮小したい場合です。その場合、領域の「もう一方の端」にジャンプして移動し、その後ジャンプして戻れると便利です。リージョンが既にアクティブになっている場合、Cx Cxを押すとアクティブのままになり、どちらかの端に移動できます。
:Emacsのを掲載しC-h r i exchange-point-and-mark RET
、より良い、またはC-h r i C-x C-x RET
。これにより、次の情報が表示されます。
これは、Emacsのマニュアル、ノードSetting Markがあなたの質問に答えて言っていることです:
C-x C-x
ポイントの位置には満足しているが、リージョンのもう一方の端(マークがある場所)を移動したい場合に便利です。使用してC-x C-x
、必要に応じて、二時間を、元の位置にポイントバックして新しい位置にマークを置きます。通常、マークが非アクティブである場合、このコマンドは最初にマークが最後に設定された場所でマークを再アクティブ化し、領域が強調表示されたままになるようにします。ただし、prefix引数を指定して呼び出すと、マークは非アクティブのままになり、領域は強調表示されません。これを使用して、に似た方法でマークにジャンプできますC-u C-<SPC>
。
そして、これはノードDisabled Transient Markでそれについて言うことです:
[
transient-mark-mode
]をオフにすると、Emacsは別の動作モードに切り替わります。
C-<SPC>
またはC-x C-x
などのコマンドでマークを設定しても、領域は強調表示されません。したがって、マークの位置を確認してもわかりません。覚えておく必要があります。この問題の通常の解決策は、マークを設定し、それがどこにあるかを忘れる前にすぐに使用することです。また、マークの場所を確認するに
C-x C-x
は、ポイントとマークの位置を交換します。マークの設定を参照してください。一時的なマークモードがオフの場合、
C-<SPC> C-<SPC>
またはを使用して一時的にアクティブにできますC-u C-x C-x
。
そして:
C-u C-x C-x
ポイントとマークを交換し、マークをアクティブにして、次にマークが無効になるまで一時マークモードを一時的に有効にします。(これは、プレフィックス引数付きのC-x C-x
コマンドexchange-point-and-mark
です。)
他の答えは、C-x C-x
いつtransient-mark-mode
アクティブになるかという有用性に焦点を当てています。しかし、C-x C-x
predates transient-mark-mode
、およびそれとは独立して有用です。
の主な役割C-x C-x
は、ポイントとマークを交換することです。これは、単一のバッファーで2つのポイントを編集していて、何らかの理由で現在のウィンドウを分割したくない場合に便利です。編集、マークの設定、バッファ内の他のポイントへの移動C-x C-x
、編集、前の場所でのC-x C-x
編集、さらに編集、吐き気をします。(2番目のポイントに戻る予定がない場合C-u C-SPC
は、より直感的になる可能性があります。Emacsマニュアルのマークリングを参照してください。)
transient-mark-mode
が無効になっC-x C-x
ている場合、別の重要な目的があります。地域がどこにあるかを見つけることができます。 C-x C-x
、C-x C-x
再びポイントを一目見ます。
(そして、あなたが不思議に思っている場合のために-はい、私たちの中には、Emacsをtransient-mark-mode
無効にして使用することを好む人もいます。)