Полосы прокрутки Emacs с точным позиционированием

Как я могу получить полосы прокрутки с точным позиционированием?

Чтобы проиллюстрировать, что я имею в виду:

  1. Ch Cf (прочитайте FAQ по GNU Emacs)

  2. Теперь попробуйте расположить содержимое буфера так, чтобы абзац начинался с This is the version ... на вершине. С полосой прокрутки по умолчанию вам нужно сделать несколько перерисовок. Или вы щелкаете левой кнопкой мыши для позиционирования курсора, затем ClCl

  3. Теперь вернитесь туда, где вы были раньше. Это невозможно с обычными полосами прокрутки.

То, что я хотел бы иметь, это просто нажать на полосу прокрутки на высоте This is the version ... чтобы расположить эту строку сверху для шага 2. И чтобы вернуться туда, откуда я пришел, я щелкаю правой кнопкой мыши (действительно, не двигая мышь).

В прошлом я всегда устанавливал Emacs с опцией, похожей на виджеты Athena, чтобы получать такие полосы прокрутки, см. Их описание. Но мне интересно, есть ли сейчас лучший или более современный способ сделать это. В конце концов, я бы предпочел использовать стандартные дистрибутивы.

Возможно, даже не нужно менять полосы прокрутки, а использовать для этого скорее левую границу. В конце концов, щелчок мышью в кайме распознается как <left-fringe>

Mx emacs-версия
GNU Emacs 23.3.1 (x86_64-pc-linux-gnu, GTK+ версия 2.24.10) 2012-09-21 для batsu, модифицированный Debian

2 ответа

Для этой задачи я нажимаю Cl один, два, три раза. Они переключаются между серединой сверху вниз.

Может быть, изменение привычек использования может помочь? Некоторые пользователи Emacs рекомендуют полностью отключить полосы прокрутки и перемещаться по Emacs исключительно с помощью клавиатуры. (Эта привычка также полезна для использования Emacs внутри оболочки.)

Emacs предоставляет большое количество ярлыков навигации. Например, для прыжка вверх и вниз большого объема буферного пространства, у вас есть:

Резюме scroll-up

милливольт scroll-down

M-} forward-paragraph

M- { backward-paragaph

Cx] forward-page

Cx [ backward-page

Однако я бы сказал, что наиболее полезными навигационными командами являются:

Cs isearch-forward

Cr isearch-backward

В Emacs, поиск так дешево, это такая неотъемлемая часть рабочего процесса, что это зачастую гораздо быстрее, чтобы добраться до другой точки в буфере с помощью опорного слова в качестве якоря для быстрого поиска, а не оставляя Домашний ряд, чтобы добраться до мыши. Повторное нажатие на Cs или Cr переместит точку в последовательные матчи. (Вы можете даже переключиться на поиск по регулярному выражению, нажав клавишу Mr во время поиска, чтобы сделать поиск еще более мощным.)

Вы уже упоминали Cl Cl для просмотра текущей строки в верхней части буфера.

Теперь, если вы хотите вернуться к предыдущему месту, вы можете использовать

Cu Cx

который прыгает обратно к отметке. Все вышеперечисленные команды для навигации выдвигают свою начальную позицию на "кольце меток", что означает, что вы можете не только отскочить назад на одну позицию, многократное нажатие на Cu Cx вернет вас на многие предыдущие позиции.

Другие вопросы по тегам