不一定要用分词,推荐 evil-find-char-pinyin,我用的爱不释手,中文标点也是支持的哦!
可参考我之前的提问。
用起来不错,感谢推荐。
但是用这个包之后,貌似 evil-snipe 原来具有的高亮搜索结果的功能被屏蔽了?
我没用过 evil-snipe, 不太了解,是用来搜索什么的?好用吗
evil-snipe 会将所有符合条件的字符都高亮,另外用 s
来匹配两个字符(s
在 Evil 中默认是替换当前字符),这样大大提高了移动效率。(虽然我不用 s)
normal-state下f
/t
重复字母多的时候不好用,evil-snipe按连续的两个字母搜索移动,有时比f
/t
好用:GitHub - hlissner/evil-snipe: 2-char searching ala vim-sneak & vim-seek, for evil-mode 它和evil-multiedit, doom emacs是同一个作者。
2s 不能用了,spacemacs 中的 evil-snipe 功能修复了,现在 s 被占用了。有什么替代方案吗?先v选中再c太蛋疼了。
(evil-snipe-override-mode 1)
;; 恢复evil的s/S,要用evil-define-key, define-key不行,a bit tricky,一个issue里抄来的
(with-eval-after-load 'evil-snipe
(evil-define-key* '(normal) evil-snipe-mode-map
"s" #'evil-substitute
"S" #'evil-change-whole-line)
(define-key evil-normal-state-map "s" #'evil-substitute)
(define-key evil-normal-state-map "S" #'evil-change-whole-line)
)
;; 只用;来repeat,禁用移动后立即按f/t来repeat
(setq evil-snipe-repeat-keys nil)
;; override-mode之后如果要给evil-repeat绑其他键位要用evil-snipe的对应函数
(define-key evil-normal-state-map (kbd "DEL") 'evil-snipe-repeat-reverse)
;; 不用s/S那用gs之类的吧
(evil-define-key 'normal evil-snipe-mode-map (kbd "g s") #'evil-snipe-s)
(evil-define-key 'normal evil-snipe-mode-map (kbd "g S") #'evil-snipe-S)
(evil-define-key 'normal evil-snipe-mode-map (kbd "g t") #'evil-snipe-x)
(evil-define-key 'normal evil-snipe-mode-map (kbd "g T") #'evil-snipe-X)
(evil-define-key 'visual evil-snipe-mode-map "z" #'evil-snipe-s)
(evil-define-key 'visual evil-snipe-mode-map "Z" #'evil-snipe-S)
(evil-define-key 'visual evil-snipe-mode-map "x" #'evil-snipe-x)
(evil-define-key 'visual evil-snipe-mode-map "X" #'evil-snipe-X)
另外vlc
可以换成c2l
,更vimmy一点
怎么基础的单键 s
它也要占用?丧心病狂。
v2s
,v2c
,vlc
都能凑活用,多按一个键而已。
虽然只是多按一个键,按惯了s,那就是每次按了s发现不对,取消了再按c,多了好几个键。。
占用s大概是因为作者觉得s没什么用,有c就够了,不过好像我们都不觉得是这样。。
我也更习惯 s
呐。话说作者是不是太武断了。
你是在说 doom (evil-snipe)的作者和 spacemacs 的作者吗?
哈哈哈,大牛可能都是这么武断的。
我的习惯已经被他们改写 n 次了
除了高亮之外,没看出 evil-snipe
比 f/t
方便在哪里,占用了 s
键,还多按一个回车键(我操作不对吗?):
f/t
fa
直接就跳到第一个 a,然后按 ;/,
前进/后退
evil-snipe
sa
再按回车,才到第一个 a, 然后按 ;/,
前进/后退
不过他们有一点说对了:easymotion 操作带来的不连续感太强烈了。
于是……我就把 easymotion 插件卸载了
当然我也没用他们说的什么 snipe 插件
正确用法应该是 sab
跳到第一个 ab
开头的位置(不一定是词的开头,中间也可以),比如
This is a test bbccdd[a]bdddd
方括号那里(没法反白,只能这样说明一下)。这样可以极大地减少跳转的次数。
不如直接 /ab<return>
拉倒,还不需要额外插件。想输几个字母就输入几个,还能跨窗口高亮。
昨天尝试的时候,想输入第三个字母 narrow down,然而……并不能。差点要憋出内伤。
是不太容易适应,也许适应了会好些吧
莫名脑补出了大牛们淫笑着揉掐小白脸的情景……
移动光标自动取消高亮的特性可以学习下,剩下的就不参与了。
其实你把中文也考虑进去的话,这种方式的优势就显示出来了
比如
按了 sky
后位置变到:
很强大
和拼音选取结合嘛?这个有点厉害了。
中文和英文确实面临的问题不太一样。
哈哈,确实。/ab<return>
之后 n/N
也很方便。如果不回车,可以直接输入到完全匹配为止。还可以回来重新编辑搜索关键字,支持正则。。。好处太多了。
倒是可以考虑一下怎么扩展内置的功能,加入对中文拼音的支持。