在 Emacs 中,我可以使用 M-f 和 M-b 向前和向后移动一个单词,但如果我必须向后或向前移动三个单词,我需要将前面的序列重复 3 次,这看起来很不雅。在 Emacs 中,Vim 中的 word-motion 概念是什么等价物?例如,在 Vim 中,我可以通过发出 2w
向前移动两个字。并通过发出 2b
向后退当我处于命令模式时。
最佳答案
您可以使用 universal-argument
.有两种方法可以向前移动 3 个单词:
但这通常比执行 M-f 3 次要慢。你知道你没有release 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
并绑定(bind)到您想要的位置。也许M-.:(global-set-key (read-kbd-macro "M-.") 'delete-word-at-point)
关于vim - Emacs 相当于 Vim 的单词运动和改变行内单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18031669/