Как я могу сделать прокрутку мыши Emacs медленнее и плавнее?
Когда я прокручиваю Emacs с помощью колеса мыши, он прокручивает по 5 строк за раз, что, я думаю, слишком много - где я могу установить новое значение?
Кроме того, когда я прокручиваю Emacs с помощью мыши (любого колеса или полосы прокрутки), курсор переходит в видимую область экрана - есть ли способ переопределить это поведение, заставляя его оставаться на линии, на которой он был включен, даже когда он выходит из экрана? Другими словами, я не хочу, чтобы с помощью прокрутки появлялись новые типизированные символы.
Любое альтернативное предложение о том, как я мог заглянуть в какой-то удаленный раздел кода, а затем быстро вернуться в прежнюю позицию, также приветствуется.
Ответы
Ответ 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 автозахваченные закладки - Закладка +. Просто нажмите клавишу для создания или удаления - так же просто, как установка метки. Они могут быть постоянными или временными. Они могут быть автоматически выделены, если хотите (бахрома или линия).