新人提问~ 并不是指 SPC s e 那样选择全部的功能,不知道有没有?
Sublime Ctrl + D 是什么功能?
选中下一个匹配项。
譬如有这样的文本: aaa bbb aaa aaa aaa
先选中第一个 aaa,然后按 Ctrl + D,会选中第一个和第二个 aaa,再按一次 Ctrl + D,可以选中前三个 aaa
multi cursor 应该是
安装包: multiple-cursors 对应命令: mc/mark-next-like-this 然后把这个命令绑定到你喜欢的快捷键上
这个就 multiple-cursor 的功能:
我的 super 键在 mac 上面就是 command
我绑定的键是:
s-d
→ (global-set-key (kbd "s-d") 'mc/mark-next-like-this)
C-=
→ (bind-key* "C-=" 'er/expand-region)
在 purecell 配置里 mc/mark-next-like-this 默认绑定了 C-+ ,这样按键应该更舒适一些.可以连续按着ctrl和=号.
在 mac 上面 command + d 应该更容易按吧。。。 而且跟 SB 编辑器保持了统一的按键。。。
evil-multiedit真的很好,就是在spacemacs里有bug,作者似乎鸽了,山人看下有兴趣和能力修复么:
暂时没啥兴趣,我现在用 multiple cursor 也挺好用。
都说和evil不能共存我就没试,等下去看看
终端下按不出 C-+ 很捉急啊,如果 mc 能像 expand-region 那样,有个选择模式就好了,在选择模式直接按 n/p 表示 mark-next/previous-like-this
,不需要每个操作都设置一个全局快捷键。快捷键多了也是负担。
可以使用 hydra:
(defhydra multiple-cursors-hydra (:hint nil)
"
^Up^ ^Down^ ^Other^
----------------------------------------------
[_p_] Next [_n_] Next [_l_] Edit lines
[_P_] Skip [_N_] Skip [_a_] Mark all
[_M-p_] Unmark [_M-n_] Unmark [_r_] Mark by regexp
^ ^ ^ ^ [_q_] Quit
"
("l" mc/edit-lines :exit t)
("a" mc/mark-all-like-this :exit t)
("n" mc/mark-next-like-this)
("N" mc/skip-to-next-like-this)
("M-n" mc/unmark-next-like-this)
("p" mc/mark-previous-like-this)
("P" mc/skip-to-previous-like-this)
("M-p" mc/unmark-previous-like-this)
("r" mc/mark-all-in-region-regexp :exit t)
("q" nil))
赞!其实也早就听说过(陈斌很推崇这个作者)hydra,但是没太注意,以为跟 which-key 差不多。
子龙在 /t/spacemacs-sublime-ctrl-d/902/14 的设置部分不正常,出现跳行的现象,我改成:
("N" (mc/mark-next-like-this 0))
("M-n" (mc/mark-next-like-this -1))
("p" (mc/mark-previous-like-this 1))
("P" (mc/mark-previous-like-this 0))
("M-p" (mc/mark-previous-like-this -1))
除 p 之外其他键都正常了。似乎通过 hydra 调用 mc 函数会导致其内部一些判断 region-active-p
或者光标位置的逻辑出错,这应该是 mc 的锅?
刚才查找问题的时候,发现其实 mc 已经支持像 expand-region 那样的渐进/递增式选择(竟然是同一个作者),只是按键/提示设置不太合理,自己写个 defadvice
就解决了。
我也有同样的疑问,只按了一次按键,却一下子选取好几个目标。请问按你的设置能解决吗?
我改用 mc/mark-more-like-this- extended
了,默认的设置有点奇怪,需要 advice
。
抄了你的这段设置,不起作用。
multiple-cursors-hydra/body
是不是要绑定到一个热键上?
恩,你可以绑定一个你喜欢的快捷键。