在Emacs中,我可以使用 Mf 和 Mb 向前和向后移动一个单词,但如果我必须向后或向前移三个单词,我需要重复前一个序列三次似乎不优雅。在Vim中Emacs相当于单词运动概念是什么?例如,在Vim中,我可以通过发出2w
向前移动两个单词,在我处于命令模式时通过发出2b
向后移动。
答案 0 :(得分:7)
您可以使用universal-argument
。有两种方法可以向前移动3个单词:
但这通常比做 M-f 3倍慢。你知道你没有发布 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)))
将其放入~/.emacs
并绑定到您希望的位置。也许 M - 。:
(global-set-key (read-kbd-macro "M-.") 'delete-word-at-point)