Emacs相当于Vim的单词运动和更改内嵌单词

Gee*_*eek 4 vim emacs editing

在Emacs中我可以通过使用M-f和前进和后退一个词M-b但是如果我必须向前或向前三个单词,我需要重复前面的三次,这似乎是不优雅的.在Vim中Emacs相当于单词运动概念是什么?例如,在Vim中2w,2b当我处于命令模式时,我可以通过发出和向后发送两个单词.

  1. Emacs中用于在单词之间移动(每次多个)的等效命令是什么?
  2. 其实我想去特定的词并改变它.在Vim中,我可以通过ciw(更改内联单词)来完成此操作.Emacs中的等效命令是什么?

ahi*_*end 7

你可以用universal-argument.有两种方法可以向前移动3个单词:

  • C-u3M-f
  • C-3M-f

但这通常比做M-f3次慢.你知道你没有发布M,对吧?

我不知道vim是civ做什么的,但是去找一个字只是用它来搜索它C-s.如果你喜欢跳转,看看Ace Jump.它的工作方式类似于浏览器插件的跟随链接功能,如vimperator.有了它,你可以跳到线条,单词甚至字符.


好吧,我认为没有内置功能.也许这个功能有帮助:

(defun delete-word-at-point ()
  "Delete word at point."
  (interactive)
  (let* ((p (point))
         (beg (+ p   (skip-syntax-backward "w_")))
         (end (+ beg (skip-syntax-forward  "w_"))))
    (kill-region beg end)))
Run Code Online (Sandbox Code Playgroud)

把它放在你的,~/.emacs并绑定到你想要的地方.也许M-.:

(global-set-key (read-kbd-macro "M-.") 'delete-word-at-point)
Run Code Online (Sandbox Code Playgroud)