Кращий (мінімальний натискання клавіш) метод переходу до початку функції, а потім назад до поточної точки?


16

Іноді я перебуваю всередині довгої функції, де початок функції не видно. Хоча я нещодавно дізнався про те, (which-function-mode)що говорить мені в моделі назву функції, я хотів би мати можливість швидко перейти до початку функції, а потім максимально легко повернутися назад.

Поки що я знайшов два рішення.

  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

10
Як тільки ти звикнеш до використання pop-to-mark-command(що називається так C-u C-SPC), ти здивуєшся, як ти жив без цього. Ви можете знайти свій шлях назад, звідки ви приїхали, переглянувши невеликий слід сухарів, про які ви навіть не знали, що їдете.
nispio

Справді. Для команд Emacs типово натискати на кільце для позначки, якщо вони збираються перенести вам якусь довільну відстань від місця, де ви були, тому користувачі повинні загалом пам’ятати про такий підхід.
філ
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.