Как определить связывание клавиш внутри отмеченной области - PullRequest
4 голосов
/ 13 апреля 2011

У меня есть идея пометить регионы в emacs проще.

  1. Я нажимаю C-SPC для запуска.

  2. Я использую viключ стиля, чтобы расширить выбор.например,

"j" : line down
"k": line up

вместо использования клавиши со стрелкой или Cn, Cp, одиночный символ легче нажимать

  1. По окончании выбора я выбираю клавишу, чтобы сделать что-то, также использую клавишу в стиле vi

    "c": деактивная область, область копирования."d" удалить регион "#" комментарий область "пробел" просто уйти без всяких действий

Я знаю, что могу использовать "Mw", "Mk" или что-то еще, но я думаю,Клавиша стиля vi - более простой способ выполнить эту работу.

Я ищу везде, но нет пакета elip, способного сделать такую ​​вещь.

Может кто-нибудь помочь мне написать некоторые функции для этого??Или дай мне несколько советов.

Я нашел хороший способ сделать это, поделитесь решением:

(

defvar active-region-mode-map
  (let ((map (make-sparse-keymap)))
    map)
  )

(define-minor-mode active-region-mode
  "Active Region minor mode."
  :init-value nil
  :lighter " Region"
  :keymap active-region-mode-map
  :group 'active-region
  )

(defun active-region-on ()
  (active-region-mode 1))
(defun active-region-off ()
  (active-region-mode -1))
(add-hook 'activate-mark-hook 'active-region-on)
(add-hook 'deactivate-mark-hook 'active-region-off)

Теперь наслаждайтесь, карта "active-region-mode-map"связывание клавиш, например:

(define-key active-region-mode-map (kbd "j") 'next-line)

1 Ответ

0 голосов
/ 13 апреля 2011

Вы можете взглянуть на режим viper .

...