emacs, Как скопировать регион и оставить выделенным?

Я нашел ответ на Дуге Форумами Linux

Начиная с pacman 3.4 можно использовать

# pacman -D

изменить только базу данных. Так:

# pacman -D --asexplicit 

сделает явно установленный.

pacman страница справочника далее описывает эту команду.

9
16.09.2011, 11:09
2 ответа

Выполнение kill-ring-save не деактивирует метку непосредственно, но просто устанавливает переменную deactivate-mark кому: t для деактивации, которая будет сделана позже. Для предотвращения этого сбросить deactivate-mark кому: nil перед деактивацией.

(defun kill-ring-save-keep-highlight (beg end)
  "Keep the region active after the kill"
  (interactive "r")
  (prog1 (kill-ring-save beg end)
    (setq deactivate-mark nil)))

(global-set-key (kbd "<C-insert>") 'kill-ring-save-keep-highlight)
8
27.01.2020, 20:07

Регион выделяется, потому что метка "активна" - таким образом, явно активация метки добивается цели.Примечание: Я не совсем уверен, почему обмен точкой/меткой не работает. Вот обновленная функция, я также обновил ее для использования интерактивный для заполнения аргументов.

(defun kill-ring-save-keep-highlight (beg end)
  "Keep the region active after the kill"
  (interactive "r")
  (kill-ring-save beg end)
  (activate-mark))
0
27.01.2020, 20:07
  • 1
    Спасибо за указатели на интерактивном args и activate-mark, но это все еще не работает. Я даже установил чистый лист VM Ubuntu 11.04 с единственным кодом в .emacs будучи этой функцией, но это все еще не активирует метку, все же вручную применяясь C-x C-x сразу после C-insert действительно восстанавливает выделение... –  Peter.O 17.09.2011, 00:35
  • 2
    @fred Вы попробовали его в Emacs w/out Ваш .emacs? т.е. выполненный emacs -q с кодом и проверкой, чтобы видеть, работает ли это. –  Trey Jackson 17.09.2011, 01:52
  • 3
    , в котором я выполнил его (неудачно) ни с чем кроме этой функции ~/.emacs и ни с чем в ~/.emacs.d/, и, как упомянуто, также в совершенно новой установке emacs в совершенно новом VM.... Я теперь попробовал эту команду, но она также не работает: /usr/bin/emacs --no-init-file --no-site-file --eval '(defun kill-ring-save-keep-highlight (beg end) (interactive "r") (kill-ring-save beg end) (activate-mark))' ... Функция работает foryou? –  Peter.O 17.09.2011, 04:21

Теги

Похожие вопросы