猫态编辑:Meow

:grinning:

GitHub - beancount/beancount-mode: Emacs major-mode to work with Beancount ledger files 是这个。

beancount mode

1 个赞

为什么开启了meow mode后,选中一块内容,再按 backspace 只能删除一字符?

按s, meow-kill

meow-delete 也可。你要了解meow常用命令。和meow的设计理念。

知道meow有段时间,一直没用。这两天刚换上,再也不用没事按两下Esc了。舒服。。。。

输入法也换成了emacs-rime,没了之前的回到normal状态输入法还是中文的尴尬。

因为 meow 很多命令都有选择,所以删除一个字符,和 kill 选择区域是两个命令。不然就要经常手工取消选择。

没搞懂怎么用啊,移动即选择?那是不是不需要用 set-mark-command 命令了? normal模式下,set-mark-command 后,上下左右键能继续选择,如果用meow-left,又会清除选择了,搞不懂啊

不需要 set-mark-command,通常一到两个键就可以直接得到想要的选择。

比如你要选一整行就是 meow-line,比如选到某个词后面可以直接用 meow-next-word,然后配合数字延展过去。

每种选择会有类型,不同类型之间会互相取消。

狗哥,我也请求你更新一版README,感觉现在这个是从1到n过程的解释,很多时候是从0到1这步跨不过去 :joy:

有没有什么好的 README 的组织形式,我很有意向更新 README。

搭车问下,meow的几个wrap功能应该如何掌握,“”, [] {} () ,我一直不得其法,手动M-x 调用命令也无法生效。

meow 的 wrap 命令是个早期的产物,现在就是用 paredit 或 smartparens 里面的 wrap 就可以。假如说 “” 都是 M-" 的话,你可以选择

  1. 用 KEYPAD 来 SPC m "
  2. 绑个按键给 "M-",比如: (meow-leader-define-key '("\"" . "M-\""))

以前的 wrap 命令就是做的 2 的事。但是其实现在看来是多余的。 如果你要 meow 里面有某个统一风格快捷键,应该优先考虑 vanilla Emacs 层面进行统一。比如 wrap 双引号不管哪个插件都绑 M-",执行代码都用 “C-x C-e” 等等。

木有啊,我自己都经常感觉词不达意,想法表达不出来,遑论分享……越长大越感觉语文才是最欠缺的科目 :rofl:

我建议先把几个模式的起因、模式之前切换的方法和横向对比优点说一下,再讲怎么用。

要不是第一次用的时候,看完文档都不知道为啥有这几个模式,更不用说感兴趣用了。

1 个赞

我把Meow和one-key放在一起用,替代了原来的evil和general。

用lazy-load来延迟加载,不用use-package了。

非常的好用。

向大神们致敬。 :+1: :+1: :+1:

1 个赞

使用了几天,有几点感觉有点卡操作的点:

  1. 移动则选择,很多时候会多选择那么一两个字符。比如 object.Function(), 我一般使用meow-next-word(绑定w按键) 前进。我想选择Function, 我需要执行 ww;L 才能选中。不知道狗哥咋选择的。
  2. expand跟非expand操作很模糊,比如我按 w1 后接 fh, expand就会断掉。更喜欢evil那种显示取消的。

应该关注的是要到的位置是什么样子(在词后面?符号后面?行末?括号后面?等等),而不是以什么样的形式过去。

对于说到的这个例子,假如说光标是这样的 |object.Function(),那可以就 find, ) ,表示要到右括号右边;或是 block-expand,表示要选择到下一对括号。 如果光标位置是 object.Fun|ction(), 那我会用两个 back-word 到 object 的前边去。

expand 的是为了让一些命令重复起来更顺手,比如连续的 line,比如简单的词选择。向先按词前进,然后再往前 find 这样的场景,虽然可以使用 find-expand,但是应该避免。比如 |object.Function() 只想选 .Function() 的话,才会先 w ,然后再 f)

总结起来还是,你只需要描述光标要去的地方是什么样子然后直接过去。没有必要规划选择时光标的路线。

2 个赞

如果只关注要到的位置,那选择咋办,那 移动即选择 的威力看起来就不是那么大了。

这并不矛盾,选择从使用场景角度看有三种情况。

一种就是一个命令就直接选了想要的,比如说 mark-word, mark-symbol, line 之类的命令。

第二种就是先到一个地方A,再到选到另一个地方B。这里的关键就是从 A 怎么到 B,我的理解就是,从 A 尽量一步到 B。比方说如果你认为 B 是一个符号的末尾,那你就应该用 next-symobl,然后根据提示用数字扩展过去。如果你觉得 B 就是个字母 x,你也不用数是第几个 x,先 find x 然后再根据数字提示来扩展。

第三种就是先选了一个部分,再微调一下。这时你就需要那些 find-expand, till-expand, 上下左右的 expand 等等绑定在大写上的命令。但这个比例应该是比较低的。

可以给出一些例子,比较多也无妨

one-key 是什么?

1 个赞