機能の先頭にジャンプしてから現在のポイントに戻る最良の(最小限のキーストローク)方法は?


16

時々、関数の開始が見えない長い関数の中にいます。最近(which-function-mode)、どの機能がモードラインで機能の名前を示しているかを学びましたが、機能の開始点にすばやくジャンプして、できるだけ簡単に戻ることができるようにしたいと思います。

これまでのところ、2つの解決策を見つけました。

  1. マークを使用する

    C-SPC 現在のポイントをマーク

    C-M-a 機能の先頭に戻る

    C-x C-x 現在のポイントとマークを交換します(ジャンプして戻ります)

    C-g マークされた地域をキャンセル

  2. レジスタを使用する

    C-x r SPC p レジスタ「p」に現在のポイントを保存

    C-M-a 機能の先頭に戻る

    C-x r j p レジスタ「p」に保存されたポイントにジャンプ

もっと良い方法はありますか?.emacsファイルにelispを追加することに反対しません。

回答:


19

これは私のために働く:

  • C-M-a関数の先頭に移動します。これは自動的にマークを設定します
  • C-u C-SPC マークをポップして前の位置に戻る

2
いいね!私はそれが私のためにマークを設定することを知りませんでした、そして私はset-mark-command
Harvey 14年

10
を使用することに慣れるとpop-to-mark-command(これはによって呼ばれますC-u C-SPC)、それなしでどのように生きたのか不思議に思うでしょう。あなたは、あなたが去っているとさえ知らなかったパンくずリストの小さな道をたどることによって、あなたがどこから来たかを見つけることができます。
nispio

確かに。Emacsのコマンドは、あなたがいた場所から任意の距離を移動しようとしている場合にマークリングにプッシュするのが一般的です。そのため、一般的にこのアプローチを覚えておく必要があります。
phils
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.