Подтвердить что ты не робот

Как я могу сделать прокрутку мыши Emacs медленнее и плавнее?

Когда я прокручиваю Emacs с помощью колеса мыши, он прокручивает по 5 строк за раз, что, я думаю, слишком много - где я могу установить новое значение?

Кроме того, когда я прокручиваю Emacs с помощью мыши (любого колеса или полосы прокрутки), курсор переходит в видимую область экрана - есть ли способ переопределить это поведение, заставляя его оставаться на линии, на которой он был включен, даже когда он выходит из экрана? Другими словами, я не хочу, чтобы с помощью прокрутки появлялись новые типизированные символы.

Любое альтернативное предложение о том, как я мог заглянуть в какой-то удаленный раздел кода, а затем быстро вернуться в прежнюю позицию, также приветствуется.

4b9b3361

Ответ 1

Вы можете управлять количеством в переменной mouse-wheel-scroll-amount (в mwheel.el).

EDIT: например. Добавить (setq mouse-wheel-scroll-amount '(1 ((shift) . 1) ((control) . nil))) к вашим .emacs для 1 строки за раз.

У меня также есть (setq mouse-wheel-progressive-speed nil) в моем .emacs, который, по моему мнению, более приятный.

Ответ 2

Я использую breadcrumb, чтобы оставить след вокруг буфера или всех буферов.

Бросьте панировочную сухарь, идите посмотреть, что вам нужно/нужно, затем прыгайте обратно в хлебную крошку. Вот что у меня есть, FWIW:

(global-set-key [(f6)] 'bc-set)
(global-set-key [(shift f6)] 'bc-list)
(global-set-key [(control f6)] 'bc-previous)
(global-set-key [(meta f6)] 'bc-next)
(global-set-key [(shift control f6)] 'bc-local-previous)
(global-set-key [(shift meta f6)] 'bc-local-next)

Надеюсь, что это поможет.

Ответ 3

Невозможно иметь "точку", чтобы существовать где-то вне текущего вида; все команды перемещения точки также перемещают дисплей. Я думаю, что фундаментальное предположение, что emacs делает.

Я думаю, что вы хотите в своем последнем пункте - заглянуть в удаленный раздел и вернуться - могут быть выполнены с помощью регистров:

Это сохраняет вашу позицию в регистре A:

C-x r A

И это восстанавливает позицию из регистра A:

C-x r j A

Если вы так много сделаете, я бы посоветовал привязать их к вещам чуть менее подробным:)

Ответ 4

Вы можете использовать какое-либо решение по закладке или регистр, но также встроенную метку и метку-кольцо -

(default binding) 

C-Space to set mark (push a mark in mark ring)
C-u C-Space to pop a mark off the ring; repeat this a few more time should 
            get you where you like to be

или если у вас нет области выделения, или вы не возражаете видеть выделение,

C-x C-x (exchange-point-and-mark) switch between you current point and your previous mark.

Ответ 5

Любое альтернативное предложение о том, как я мог заглянуть в какой-то удаленный раздел кода, а затем быстро вернуться в прежнюю позицию, также приветствуется.

Ch 3 of Боб Гликштейн "Написание GNU Emacs Extensions" создает функцию unscroll (чтобы вернуться в указанное место в прокрутке- командный стек) в качестве примера программирования.

Код появляется в режиме онлайн,, но есть a сообщил о конфликте с ЕЦБ, если вы используете его.

Ответ 6

Вот моя настройка:

(setq mouse-wheel-scroll-amount '(0.07))
(setq mouse-wheel-progressive-speed nil)
(setq ring-bell-function 'ignore)

Ответ 7

Использовать easy-come-easy-go автозахваченные закладки - Закладка +. Просто нажмите клавишу для создания или удаления - так же просто, как установка метки. Они могут быть постоянными или временными. Они могут быть автоматически выделены, если хотите (бахрома или линия).