evil下使用C-e到行尾

想在evil normal-state下使用c-e到行尾怎么办

;; 下面这两行都不起作用

(define-key evil-normal-state-map [C-e] 'move-end-of-line)

(define-key evil-normal-state-map [ctrl-e] 'move-end-of-line)

(define-key evil-normal-state-map (kbd “C-e”) 'move-end-of-line)

1 个赞

和我的键位一样,不过最好用evil-end-of-line吧,用vinilla的end-of-line万一和evil的其他东西配合起来有问题呢。

赞同:用evil-end-of-line

“用vinilla的end-of-line万一和evil的其他东西配合起来有问题呢” 啥意思???

那你为啥赞同。。。

  • evil的end-of-line可能会做些额外的处理,比如源码里的
;; evil跑到最后一个字上,其实光标是在最后一个字前面而非真的行尾
(unless (evil-visual-state-p)
    (evil-adjust-cursor))
  • evil的按键宏、repeat什么的,万一只记录evil-end-of-line,不记end-of-line呢(当然实际这两个什么都记,但是别的情况说不定?)

move-of-line: built-in,C语言

move-end-of-line simple.el Elisp

evil-end-of-line evil-commands.el Elisp

你开始说evil-end-of-line可能会做额外的处理,马上就想到可能行尾有不可见字符什么的。 只是简单的想既然在evil下就用evil自己的$(evil-end-of-line),所以就赞同了,并没有任何其他可用知识点支撑我的投票。

没想过vi宏和repeat这些用法(而且我也不会,vi的宏我现在当shell脚本理解从头到尾依次执行,你说的repeat我理解成vi中的"."操作)