如何关闭meow-keypad模式?

目前我用doom+evil有一年多了,习惯了它的SPC 下面的各级子菜单,目前想换doom+meow试试,希望尽量不影响太多。

但是meow的keypad模式会把我习惯的SPC覆盖掉,我对emacs原生的组合键不熟,暂时不想用meow的keypad模式,又想用insert normal beacon等其他模式来代替evil,这样该怎么设置呢?

以前面临过和你一样的问题,也想要把 meow 塞进 doom 里面,但是折腾了一段时间之后放弃了。感觉 doom 和 evil 已经很深度绑定,想要无痛替代它实在是很麻烦的一件事。

后来我干脆围绕 meow 自己弄了一套配置,因为我用 emacs 的主要场景是记笔记,而 doom 在这种背景下就显得太臃肿了。

半年体验下来,我的感觉是 meow 是轻量版的 evil 。自带的 beacon 模式很强大,不过平时记笔记几乎用不到这个功能。而且 meow 的文本对象操作逻辑对于习惯了 vim keybinding 的人比较反直觉,而且还会影响之后使用 vim/nvim ,所以我个人觉得 meow 更适合从 native emacs 过来的用户。

1 个赞

在我看来,能自己弄出一套满足日常使用的配置,都是大佬级别了 :laughing:

我读完了meow仓库里的文档之后,对着meow-tutor的所有步骤操作了一次,然后想试试开始在doom里用,按官方doom-meow仓库进行安装之后,SPC按键没能保留doom本来的功能,日常操作有点找不着北(搜索文件,搜索关键词等),比较难受。

memo的操作逻辑,有什么比vim更高超的地方吗

原生按键 → evil → meow. 目前回到了 Evil 上使用。

Vim 式的按键方法在临时使用 vscode 时也能无痛使用。Meow 只能在 Emacs 上使用,偶尔切换软件使用就不方便。

习惯了 Evil,不切 Meow 也没啥。

1 个赞

以我有限的体验来说,在日常编辑方面,meow 并没有比 vim 更“高级”,在有些方面反而变麻烦了。比如操作文本对象(行、buffer、段落、单词)需要先选中,在 vim 里面可以直接通过 gg, G 在文件开头结尾跳转,而在 meow 中则需要通过 expand 扩展选区的间接方式来实现,流畅性不如 vim。

但是在需要进行 multiple cursors edit 的时候 meow 提供了一个 beacon 模式,这个比较高级,你可以看看 readme 上的 gif,里面有些操作类似于魔法了。然而我自己常用的就是列编辑,这个 vim 里面也可以方便地做到,所以……

撇开操作方式,我觉得 meow 的最大优点是提供了一个在 emacs 上实现轻量级模式编辑框架。它自带的 keypad 模式可以很方便地让我们将原生快捷键迁移到模式编辑上,它有一套 fallback 逻辑,能自动地将一大堆Ctrl映射成 SPC 为 leader key 的操作,对于不想要配置重量级的 evil 的用户是个不错的选择。

1 个赞

many leader keybindings are missing when the +leader module flag is enabled · Issue #13 · meow-edit/doom-meow · GitHub ,看这个issue,即使你关闭了meow-keypad模式,也会面对这个问题。当然我没用doom emacs。meow 的leader key 写法不难,我举个例子哈,这样 space+q 就是 kill-emacs。

  (meow-leader-define-key
   '("q" . kill-emacs))

另外,doom emacs 用的应该是 hydra,下面是简单例子。

(defhydra hydra-global 
  "global"
  ("g" meow-cancel-selection "meow--cancel-selection")

简单配置配置就好,不习惯就再改

感谢解答, 如果什么时候有超出evil 的编辑思想的工具出现,麻烦再通知我

感谢大佬的示例,看来只能慢慢找一下基本功能的函数来绑定试试了

如果只是文件开头和末尾的话emacs有内置的 beginning-of-bufferend-of-buffer 两个命令,不一定要用 meow 自己的方案。