在vim中使用与来回导航这个词相同的行为最简单的方法是什么?在vim中按“w
”时,它会向前移动一个单词,其中单词由一系列字母,数字和下划线或一系列其他非空白字符组成,用空格分隔(空格,标签,eol)。另一方面,在emacs中,它跳过下一个单词的结尾,并在语法表中按模式定义单词。
例如:在下面一行的开头有一个光标,显示当你执行forward-word
(“w
”)操作时vim放置光标的位置:
opt1.arg = opt2.arg
^ ^^ ^ ^ ^^ ^
在emacs中它就像:
opt1.arg = opt2.arg
^ ^ ^ ^ ^
这实际上取决于一个人的偏好,但我倾向于更喜欢vim风格,我想知道在emacs中使用相同内容的最简单方法是什么。我想我并不是唯一一个从vim切换到emacs的人,所以也许有人已经有了解决方案,理想情况下也适用于kill-word
和backward-kill-word
:)
我知道你可以通过M-f
,M-b
等组合来获得相似的东西,但这不是重点。我也不想开始讨论哪种方法更好 - 在here中讨论了topis。
答案 0 :(得分:6)
您实际上可以使用'viper-forward-word
(require 'viper)
(global-set-key (kbd "M-f") 'viper-forward-word)
(global-set-key (kbd "M-b") 'viper-backward-word)
答案 1 :(得分:1)
大多数是this的副本,其中包含:
(require 'misc)
然后将您想要的任何键绑定到forward-to-word
和backward-to-word
。对于kill,创建一些简单的函数来包装这些函数并杀死它们。
答案 2 :(得分:0)
我不知道为什么jpkotta的答案被删除了,但是又来了:
我有一个次要模式,可以更改基于字的命令来操作语法更改(以及CamelCaseSubwords)。对于某些品味来说,它可能有点过于细粒度,但我发现我基本上不再使用单一角色运动了。
@ mods,我不知道为什么这个答案会被删除,所以如果您选择删除这个答案,我也会感谢您的解释。