Spacemacs 的 o
text object 可以在 snake 风格的 Identifier 中选中其中的一个单词,如:fi|rst_name
(|
表示光标所在位置),按 vio
可以选中 first
,但是默认并不支持在 Camel 风格的 Identifier 中选中其中的一个单词,可以 SPC t c
(buffer locally) / SPC t C-c
(globally),然后在如 fi|rstName
中就可以按 vio
选中 first
了;并且 e
/ b
也支持在“小”单词边界停留。
emacs 内置的 superword/subword 就可以实现,我简单包装了一下,替换掉 evil 默认的函数。然后 insert 状态(evil 快捷键) & normal 状态(emacs 快捷键) 行为结果一致了。
奇怪,o
是symbol
,w
是word
,那么应该是viw
选中first
,vio
选中first_name
。但是我是把w
alias到symbol了,所以以上只是凭记忆说的。。