spacemacs 中evil模式下怎么设置按 ‘w’ ‘b’ 的时候忽略 ‘_’ ,比如 ‘hello_world hello_adward’ 光标在第一个hello_world处,我希望试用w光标能移动到空格处。
megoto
2
可以把下划线作为 word 的一部分:
(modify-syntax-entry ?_ "w")
如果想针对指定的 major mode 设置,可以参考 spacemacs 的文档
1 个赞
看起来是有点一时爽的想法,过一段时间可能又觉得这样不方便了。
另外就是你混淆了 e
和 w
的含义:
;; W
;; |------------------\
;; | w |
;; |--------v v
;; aaaaaaaa_bbbbbbbb cccccccc_dddddddd
;; |-------^ ^ ^ ^------|
;; | e | | b |
;; |----------------/ \---------------|
;; E B
(define-key evil-motion-state-map "e" #'evil-forward-word-end)
(define-key evil-motion-state-map "E" #'evil-forward-WORD-end)
(define-key evil-motion-state-map "w" #'evil-forward-word-begin)
(define-key evil-motion-state-map "W" #'evil-forward-WORD-begin)
(define-key evil-motion-state-map "b" #'evil-backward-word-begin)
(define-key evil-motion-state-map "B" #'evil-backward-WORD-begin)
上面的代码改一下就能解决你的问题。
2 个赞
这样确实可行~ 之前有读过这个FAQ,没把有些内容加进去,最近又有写c的需求了
感觉这个也是一种解决方案,确实用W就可以解决问题,但是vim确实会把 ‘_’ 当做word的一部分,
和使用W代替w感觉也还好,只不过不太习惯按住shit