По сути, я спрашиваю, эквивалентна ли функция vb vim (bbww ...) и vw (wwbb ...):
Я хочу связать свои мета-j и мета-k, чтобы отметить слово до и после текущей точки. Simple.el предоставил функцию mark-word, которую я связал с meta-k. И я немного изменил функцию mark-word на:
(defun mark-backward (&optional arg allow-extend) ;
(interactive "P\np")
(cond ((and allow-extend
(or (and (eq last-command this-command) (mark t))
(and transient-mark-mode mark-active)))
(setq arg (if arg (prefix-numeric-value arg)
(if (< (mark) (point)) -1 1)))
(set-mark
(save-excursion
(goto-char (mark))
(forward-word arg)
(point))))
(t (push-mark
(save-excursion
(backward-word (prefix-numeric-value arg))
(point)) nil t))))
(global-set-key (kbd "M-k") 'mark-word)
(global-set-key (kbd "M-j") 'mark-backward)
Это вроде сработало. Я хочу отменить пометку, используя другую клавишу, как я могу это сделать? (то есть после того, как я пометил какое-то слово с помощью M-k, я хочу использовать M-j, чтобы снять пометку с какого-то слова слева. В настоящее время, когда я нажимаю M-j, emacs продолжает метить вперед).