什么是最简单的方法来获得vim中来回导航这个词的相同行为?在vim中按" w"时,它会向前移动一个单词,其中单词由一系列字母,数字和下划线或一系列其他非空白字符组成,用空格分隔(空格,制表符,eol).另一方面,在emacs中,它会跳过下一个单词的结尾,并在语法表中按模式定义单词.
例如:在下面一行的开头有一个光标,显示当你执行forward-word(" w")操作时vim放置光标的位置:
opt1.arg = opt2.arg
^ ^^ ^ ^ ^^ ^
Run Code Online (Sandbox Code Playgroud)
在emacs中它就像:
opt1.arg = opt2.arg
^ ^ ^ ^ ^
Run Code Online (Sandbox Code Playgroud)
这真的取决于一个人的偏好,但我倾向于更喜欢vim风格,我想知道在emacs中最简单的方法是什么.我想我不是一个人谁切换从VIM emacs的那么也许有人已经有一个解决方案,非常的kill-word和backward-kill-word以及:)
我知道你可以通过组合类似的东西M-f,M-b等等,但是这不是重点.我也不想开始讨论哪种方法更好 - topis在这里有很好的讨论.
你可以实际使用 'viper-forward-word
(require 'viper)
(global-set-key (kbd "M-f") 'viper-forward-word)
(global-set-key (kbd "M-b") 'viper-backward-word)
Run Code Online (Sandbox Code Playgroud)
大部分是这个的重复,它说:
(require 'misc)
Run Code Online (Sandbox Code Playgroud)
然后绑定您想要的任何键forward-to-word和backward-to-word。为了杀死,创建一些简单的函数来包装这些函数并执行杀死操作。