- smart-forward.el
smart-forward
smart-backward
- evil-snipe.el
evil-snipe-s
evil-snipe-S
:n ";" (λ! (avy-goto-char-timer) (+my/find-definitions))
-
x;
是:n ";" (λ! (avy-goto-char-timer) (+my/find-references))
分别定义 Normal、Insert、Command-line 下按字、词、行移动的快捷键。
实在不行,还有触摸板。
b
w
e
跳得太慢,
比如以这个为例(光标初始在func的f上)
func (this *NotesInfo) SetOrigin(originInfo *NotesInfo) {
用evil-forward-symbol-begin
依次会跳到 this[t],NoteInfo[N],SetOrigin[S],originInfo[o],NotesInfo[N]上
而用默认的w
会先跳到第一个括号"(",然后this[t],然后星号,然后N,然后 右括号 ,依次会经过对我来说没太大意义的()*{等字符
当然我并没改改动默认的w b的按键, 更小级别的跳动,我还是会用的
avy 对于中文的支持太差了。
怀念 vim 的 easymotion
触控板……
我的效率还没高到需要一直趴在键盘上的地步
avy党比较多嘛,我都是相对行号然后12j
这样跳的,试过avy,感觉如果给avy的search string惟一的话还不错,否则之后再辨别a
/s
/d
/f
选个marker太花时间,不如相对行号(之后f*
行内移动)。
不在屏幕内的跳转是这样:
evil默认normal-state ^
$
%
太难按了,我改成了C-a
C-e
M
有ace-pinyin可以用,感觉还好,跟英文没什么区别。
可它是从buffer的第一个字符开始算的啊,不是从当前位置,你自己从新写了个函数?
avy能一步到位但是有选择的overhead,距离近的话overhead就有点不值。
你是说 avy-goto 激活之后的 asdf 编号?
我怎么感觉是从当前屏幕的首行开始的
我指原生的goto-char
,它的参数是从当前buffer的第一个字符算起的。你能否C-h k
或C-h f
看一下你用的是哪个包定义的类似goto-char的命令?谢谢啦
M-g c runs the command goto-char (found in global-map), which is an
interactive built-in function in ‘C source code’.
It is bound to M-g c, <menu-bar> <edit> <goto> <go-to-pos>.
(goto-char POSITION)
Set point to POSITION, a number or marker.
Beginning of buffer is position (point-min), end is (point-max).
The return value is POSITION.
我用的那个函数名叫 evil-avy-goto-char
,在 spacemacs 里用的。
我平时不写代码,记个笔记资料啥的文档一般也短,所以需求比较简单,能跳转就行。主要是看这个也支持中文,配置起来又不麻烦,中文依赖的是 ace-pinyin
,常用字范围内够用了。
谢谢!我用helm,刚开始在另一台机子上尝试Ivy系列,还没用过avy,所以没理解。谢谢啦
不客气,都是来学习的,多交流
大家都不习惯用C-v
和 M-v
吗?
我是因为一次翻半页看起来比较费劲,所以不经常用,而且翻完页还需要再调整光标位置。
我用,并配合M-r
将光标移到大致的位置;不然快速翻页也没别的什么了,除非是基于搜索,我用helm-swoop。
avy 跳转我是这样用的:先盯住目标点,然后按下快捷键,这时候 marker 正好在视线焦点中,并不需要满屏幕找。
当出现多个字符的 marcker (比如 ja/jk/jl … 这样两个或者更多字符) 并且粘连在一起的时候,会比较难辨别,不过这种情况是比较少。
我一般都用timer,普通的选项太多不好按