4

我有一个想法,可以更轻松地在 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)
4

1 回答 1

0

你可以看看viper-mode

于 2011-04-13T15:07:44.740 回答