emacs配合evil之后,移动的按键有点多,总结了一下。
只选取一种最容易按的方式,习惯之后还是很高效的
具体可以看我的配置 https://github.com/heheda123123/emacs.d/blob/main/init.el
光标移动总结,基于不同单位进行移动
字符移动 h j k l
单词移动 w e b W E B
行内移动 M-a M-e f ;
段落移动 n m %
屏幕移动 H M L
全文移动 ,ss * gg G C-d C-u
项目移动 ,qq ,md ,mr C-o C-i
一些说明
行内移动 M-a M-e 效果等同于0和^,但是^不好按,改成这个更方便
段落移动 n m 效果等同于emacs原本的M-a M-e,改成这个更顺手
段落移动 % 使用了evil-matchit
全文移动 ,ss 就是consult-line
全文移动 C-u 改为了vim的C-u效果,emacs的C-u我自己基本不用
项目移动 ,qq 就是consult-ripgrep
项目移动 ,md ,mr 就是lsp-bridge-find-def lsp-bridge-find-references
另外虽然我配置里有avy,但是用起来总有种突兀的感觉,平时基本不会用这个,用 ,ss 可以替代
平时用起来已经很流畅了,不知道大家有没有什么补充的
3 个赞
vim还是得搞个vim cheat sheet有空时看看
https://vim.rtorr.com/
_cp
3
我是用的doom 除了提到的以外比较常用的
- C-y, C-e: 上下滚动但是光标不离开当前行,方便看完屏幕边缘的内容继续编辑
- zz, zb, zt: 对应的是
evil-scroll-line-to-<center,bottom,top>
command, 鼠标不离开当前行并把这一行放到屏幕中间,最低,最顶
- C-o:
better-jumper-jump-backward
command,跳回上一次光标所在位置。蛮好用的,看完其他位置的信息,复制了某些东西,然后一路C-o回来继续操作
- 其他跳转就是各种search, search buffer, search project, search directory
感觉有时一些高效的移动还是没有形成肌肉记忆,还是会一直按hjkl, 其实easy-motion,avy什么的也都看过,但集中精力再想问题时就不会用肌肉记忆以外的按键
2 个赞
_cp
4
以前doom的discord server有一个doom tips频道(貌似是这个名字),里面巨多巨好用的小技巧,但是频道被关闭了,说是会移动到doom的discourse里面,但至少我上次去看搜索了一下并没有
如果是单纯光标移动的话,vim有个easymotion插件你可以了解一下。
emacs中具体对应哪一个插件我不知道(我是新手),但是陈斌配置里有个命令函数ace-pinyin-jump-char可以起到同样的效果(英文或汉语拼音都行)。
vim里的easymotion就是我前面提到的avy哈,感觉用这个插件会打断思路所以我基本不用,而且用consult-line也能达到同样的效果