Как вы перемещаете аргумент префикса в другой ключ в Emacs?
Я использую альтернативную раскладку клавиатуры (Colemak) и хочу переместить universal-argument
команда для другого ключа в Emacs, Cl вместо Cu. Я попробовал следующее, но он не позволяет мне мультипликативно соединять несколько универсальных аргументов (Cl Cl Cl), и это также разбивает Cl Cu (который должен сдвинуться вверх на 4 строки):
(global-set-key "\C-l" 'universal-argument)
(global-set-key "\C-u" 'previous-line)
1 ответ
Решение
Когда вы используете префиксный аргумент, Emacs временно использует раскладку ключей для обработки функциональности универсального аргумента. Итак, вам нужно внести изменения, которые вы сделали там тоже:
(define-key universal-argument-map "\C-l" 'universal-argument-more)
(define-key universal-argument-map "\C-u" nil)
Первый устанавливает Cl, чтобы быть продолжением universal-argument
и второй отменяет определение Cu из этой карты b/c, вы больше не хотите, чтобы это был универсальный аргумент.