用evil,有没有什么快速的跳到上一行行尾的命令推荐

现有的evil操作需要这样子:先按一个k, 再按$, 但我感觉这个按键可能有某种更好的方式来处理,不知道前辈们有没有什么思路

^ $很难按,我之前是绑到C-a C-e来和insert state统一的,但是这样对小指不友好,现在改到C-i C-o了(ctrl和另一个键在两侧,左手可以用无名指中指来按)。还把0绑到了这个:

(defun jester/cycle-line-beginning-end ()
  "Go to line text beginning, line end, line very beginning, in turn."
  (interactive)
  (cl-block 'my-return
    (when (and (looking-at "[^\s]") (looking-back "^\s*")) (evil-end-of-line) (cl-return-from 'my-return)) ; at beg of line text
    (when (looking-at (if evil-move-beyond-eol "$" ".$")) (evil-beginning-of-line) (cl-return-from 'my-return)) ; at end of line
    (when (bolp) (evil-first-non-blank) (cl-return-from 'my-return)) ; at very beg of line
    (evil-first-non-blank)))

回到你的问题。。“快速”,那当然是把整个操作绑到一个键了,写个函数到上一行再到行尾,绑个键就行了。但是在normal state下扣出一个空余键位是比较难的,所以你再多描述一下场景最好,到了上一行尾之后干嘛?加个分号?还是啥

目前我到上一行行尾的目的是为了连了这一行到上一行行尾,所以需要先把光标跳过去,再连接一下, C-i C-o 不是负责跳转的吗?你连这个键都改了? :flushed:

直接k J就行了吧,不用到行尾啊

evil的J不需要到行尾的吧。然后你可以写个函数 “上一行”+“join”然后绑到gj zj之类的

试了一下你这个0,不得不说你是个人才

如果是为了回到上一行最后编辑可以这样:kA

2 个赞

感谢各位回复,我现在把它绑定到zj了

合并两行直接用大写的J就行

考虑试下 meow

谢谢,第一次知道 A 是直接在末尾插入

按0到行首再按h退一格