Активировать команду в регионе с привязками Cua, установленными в Ctrl+C, для копирования в Emacs
Мне было интересно, как реализовать команду в области, когда она выделена, если она начинается с Ctrl+C, когда привязки Cua включены.
Например, я хочу выделить как четыре строки текста в режиме LaTeX и запустить команду Ctrl+C Ctrl+f Ctrl+b, которая изменяет текст на жирный или курсив. С привязками cua он сразу копирует регион, есть ли способ выбрать регион после того, как была установлена метка, и, скажем, выполнить команду в этом регионе, чтобы работать правильно в этом случае. Если вы просто запускаете команду сразу после установки отметки, она ставит команду на место, а не в регионе.
Не уверен, что это возможно, но мне нравится привязка cua, и я делаю вышеперечисленное лишь изредка, но мне просто интересно, или проще всего удалить привязку cua.
Примечание: я понял, что с нижеследующим набором он работает правильно, потому что он не деактивирует область с копией, а фактически продолжает команды и не останавливается на Ctrl+C, как при выключенном. Можно ли сделать что-то похожее без настройки сохранить регион после копирования?
(setq cua-keep-region-after-copy t)
2 ответа
Это связано со скоростью, с которой вы нажимаете другую клавишу после нажатия кнопки cua. Если выделено любое, вы нажимаете связывание клавиш с ключом cua действительно быстро, это активирует команду в регионе. Я думаю, что значение по умолчанию составляет 0,2 секунды или что-то относительно быстрое. Переменная, которая меняет это, если вы хотите установить его длиннее или медленнее:
cua-prefix-override-inhibit-delay
:
Если не ноль, время в секундах, чтобы задержать прежде, чем переопределить префиксный ключ. Если в течение этого времени есть дополнительный ввод, префиксная клавиша используется как обычная префиксная клавиша. Поэтому быстрый набор последовательности клавиш будет препятствовать переопределению префиксного ключа. В качестве особого случая, если префиксные клавиши повторяются в течение этого времени, первый префиксный ключ отбрасывается, поэтому двойной ввод префиксного ключа в быстрой последовательности также будет препятствовать переопределению префиксного ключа. Если значение равно нулю, используйте сдвинутый префиксный ключ, чтобы запретить переопределение.
Ты можешь использовать cua-exchange-point-and-mark
с префиксным аргументом вроде этого:
[курсор] это простой тест в режиме латекса
C-пробел (установить отметку)
C-e (идет до конца строки)
это простой тест в латексном режиме [курсор]
C-C (скопировать текст)
C-uC-xC-x(меняет точку на отметку и активирует отметку)
C-CC-FC-B