Xah Fly Keys vs. Meow

Xah Fly KeysMeow 看起来都各有所长,但是又各有所短,比如xfk的很多机制都是写死的

而meow则感觉管得太少了 lispy awesome-pair的键位都会覆盖meow的键位 从而无法区别normal和insert模式

容我试验一下,我觉得 awesome-pair 实现很标准,使用起来应该和 paredit 没有什么区别,我测试一下。 lispy 的话我有用过,老实说我没有考虑过把一种模式编辑和 lisp 同时用,我觉得如果用的话就是 insert 模式下面用,我也测试一下。马上给你结论。


(use-package awesome-pair
  :straight
  (awesome-pair
   :type git
   :host github
   :repo "manateelazycat/awesome-pair")
  :bind
  (:map awesome-pair-mode-map
        ("(" . awesome-pair-open-round)
        ("[" . awesome-pair-open-bracket)
        ("{" . awesome-pair-open-curly)
        (")" . awesome-pair-close-round)
        ("]" . awesome-pair-close-bracket)
        ("}" . awesome-pair-close-curly)
        ("C-d" . awesome-pair-forward-delete)
        ("C-k" . awesome-pair-kill)
        ("M-\"" . awesome-pair-wrap-double-quote)
        ("M-[" . awesome-pair-wrap-bracket)
        ("M-{" . awesome-pair-wrap-curly)
        ("M-(" . awesome-pair-wrap-round)
        ("M-)" . awesome-pair-unwrap))
  :hook ((python-mode . awesome-pair-mode)))

(use-package lispy
  :hook ((clojure-mode . lispy-mode)))

(provide 'init-pair)

我用的是这样的配置,加载的顺序和 meow 不管先后,似乎都没有问题诶。 我说的没有问题指的是:

  1. 绑定在 normal 的按键,比如说 ( 上面的按键,还是 meow 的命令,不会被覆盖。
  2. 在 insert 下面,lispy 或 awesome-pair 都可以正常使用。

如果有问题的话,我觉得是不是要关注一下 minor-mode-alist 的值? 再研究一下

可能是meow重构前的问题了

像括号的插件一般管的事情挺多的,相应的比如 C-k, C-d 可能都会绑定上对应的函数。Meow 有考虑这个问题,所以在 NORMAL 下的 meow-kill, meow-delete 在调用下层按键的时候都是模拟的输入。我在刚才测试的时候发现工作是正常的,好比说 meow-kill 在 awesome-pair 激活的情况下,是可以在删除的时候保持括号平衡的(awesome-pair-kill 的效果)。

我觉得 evil 这方面尤其的糟,需要配上额外的 patch 插件才可以。

meow和smartparens一起用是不需要额外配置的.

smartparens, paredit, electric-pair-mode, awesome-pair 应该都是不需要额外配置的。我现在在意的就是 EAF 之类的集成怎么样,看起来好像可能需要一些配置。

有看你的 B 站的视频,你是用 colemak 的吗?

[~/scripts]─[master]── ─ cat setxmodmap-colemak.sh
#!/bin/bash
setxkbmap us colemak -option -option ctrl:swapcaps -option lv3:ralt_alt
xset r rate 250 30

看来用 colemak 的人还是很多的,如果 vim 上面用 colemak 的话大概是要做什么样的处理?还是就用默认的按键了?

做一堆处理……我是u向上e向下n向左i向右 这是我的vim配置:https://github.com/KiteAB/nvim