カーソルを前の位置にジャンプして戻すことはできますか?


24

バッファ内のカーソルを最後の位置にジャンプして戻すことはできますか?(できれば前の位置をマークする必要はありません)

たとえば、Caは現在の行の先頭にジャンプしますが、前の場所に戻ることはできますか?

たとえば、Cx Cfを使用して別のディレクトリにあるファイルを開く場合、パス名の前の位置に戻りたいと思います。

ありがとう。


ウィルC-x x実行しますexchange-point-and-markか?Emacsはすべてのカーソルの動きを保存するのではなく、あなたが特に指示したものだけを保存します。マークの追加とポップは、カーソルの移動履歴を保存する1つの方法です。emacswiki.org/emacs/MarkCommands-この件についての良い議論です。
wvxvw

1
C-x x未定義です。M-x exchange-point-and-mark:このバッファにマークが設定されていません。
ティム

@TimですC-x C-x。また、そのためにはまずマークを設定する必要があります。マークを明示的に設定するには、を実行しますC-SPC。前のマークに戻るには、を実行しますC-u C-SPC
カウシャルモディ

うん、そう、ごめん、そうだったC-x C-xC-x x私自身のバインディングです。
wvxvw

1
これが重複しているかどうかはわかりませんが、emacs.stackexchange.com / q / 3421/454が役立つ場合があります。
phils

回答:


30

マーク関連のバインディングをいくつかご紹介します。

  • C-SPC-マークを設定し、リージョンをアクティブにします(にバインドset-mark-command
  • C-SPC C-SPC -マークの設定(地域を有効にしてから無効にする)
  • C-x C-x -にバインド exchange-point-and-mark
  • C-u C-SPC -前のマークに移動

このトピックの理解を深めるには、Markのドキュメントをご覧ください。


9
カーソルをあなたがいた場所から任意の(しかし潜在的に大きい)距離を移動する傾向があるコマンドは、(通常)最初に自動的にマークを押すことに注意してください。そのため、シングルで頻繁に以前の場所に戻ることができますC-u C-SPC
phils

counsel-mark-ringそれはすべてのマークをリストし、カーソルでそれらをナビゲートし、バッファ内のリアルタイムプレビューを取得することも可能です。
Arialdo Martini


1

「レジスタ」を使用できます。

emacs情報ファイルから

13.1レジスタに位置を保存する

C-x r <SPC> R' Record the position of point and the current buffer in register R (ポイントツーレジスタ」)。

C-x r j R' Jump to the position and buffer saved in register R (ジャンプして登録」)。

C-x r <SPC>' (「レジスタへのポイント」と入力し、その後に文字「R」を入力すると、ポイントの位置と現在のバッファーの両方がレジスターRに保存されます。

コマンド `Cx rj R 'は、レジスタRに記録されたバッファに切り替え、記録された位置にポイントを移動します。レジスタの内容は変更されないため、保存した位置に何度でもジャンプできます。

C-x r j' to go to a saved position, but the buffer it was saved from has been killed,Cx を使用する場合、rj 'は同じファイルにアクセスしてバッファを再度作成しようとします。もちろん、これはファイルを訪問しているバッファに対してのみ機能します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.