Активировать команду в регионе с привязками 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

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