https://github.com/DogLooksGood/meow/blob/master/CUSTOMIZATIONS.md#meow-expand-exclude-mode-list
这个变量控制了哪些 mode 下 expand hint 是禁用的. org-mode 下通常字体大小都不一样, 如果显示提示, 效果不好看. 当前的提示会对半角和全角字符用不同的宽度, 但是对不同大小的字体没有办法.
https://github.com/DogLooksGood/meow/blob/master/CUSTOMIZATIONS.md#meow-expand-exclude-mode-list
这个变量控制了哪些 mode 下 expand hint 是禁用的. org-mode 下通常字体大小都不一样, 如果显示提示, 效果不好看. 当前的提示会对半角和全角字符用不同的宽度, 但是对不同大小的字体没有办法.
更新了一版,有一些改动,欢迎测试。
meow-region-cursor
控制移动的时候的提示位置也做了修改,对应了 1 的改动。
meow-kmacro-lines 在每次执行前都会先自动行选,这样和 meow-kmacro-mathces 的行为就一致了。
去掉了一些命令,insert-at-bol, append-at-eol, meow-delete(fallback 到 meow-c-d),meow-head(-expand), meow-tail(-expand)
没有选择的时候 append ,光标自动后移
终端下overlay的行为不太一致
back的行为
光标落在了后边并且最后一个字符的face被覆盖了,我觉得如果不能将光标落在字符上的话,终端环境用insert比较好(又回到起点)。
终端光标使用竖线也可,但是似乎比较hack。
终端下面不管是要隐藏光标,还是改变光标,应该都需要那个 ansi 的控制码。 回头看看怎么加上。
我个人觉得 insert 光标的方式比画个假光标好。假光标的位置毕竟不是真的,就很隔应。
我也觉得insert更好一点。
终端cursor shape那边evil有轮子了,看起来要适配不同的terminal,还是挺麻烦的。
其实并不难,所有的终端都是一样的,只不过程序异常中断的时候,光标是回不来的,好像 tmux 里面也可能没效果,所以一直都没有做。
图里的modeline看起来非常不错,主题也很漂亮,可以贴一下您的emacs配置学习一下么
不过, 现在和这个截图的时候已经不一样了, 现在很简约, 我喜欢极简风.
好,谢谢,我也研究研究
更新了一下光标的修改,去掉了 meow-region-cursor
选项,现在两个样式都会应用。光标会显示成竖线,同时也会画一个假光标做为提示符。
效果如下:
唯一个问题就是这个假光标的 face 目前没有什么合适的 face 去继承,所以当前默认是灰色的。 如果自己设置一下颜色,配合主题应该挺好看的。
(defface meow-region-cursor
'((((class color) (background dark))
(:foreground "grey70" :inverse-video t))
(((class color) (background light))
(:foreground "grey30" :inverse-video t)))
"Indicator for region direction."
:group 'meow)
不使用 keypad,按 C-c C-l ?
可以列出在在 C-c C-l
下的 keymap (Emacs 内置的功能,和 meow 无关)
`lsp-mode' Minor Mode Bindings Starting With C-c C-l:
key binding
--- -------
C-c C-l = Prefix Command
C-c C-l F Prefix Command
C-c C-l G Prefix Command
C-c C-l T Prefix Command
C-c C-l a Prefix Command
C-c C-l g Prefix Command
C-c C-l h Prefix Command
C-c C-l r Prefix Command
C-c C-l w Prefix Command
C-c C-l a a lsp-execute-code-action
C-c C-l a h lsp-document-highlight
C-c C-l r o lsp-organize-imports
C-c C-l r r lsp-rename
C-c C-l h h lsp-describe-thing-at-point
C-c C-l h s lsp-signature-activate
C-c C-l g a xref-find-apropos
C-c C-l g d lsp-find-declaration
C-c C-l g g lsp-find-definition
C-c C-l g i lsp-find-implementation
C-c C-l g r lsp-find-references
C-c C-l g t lsp-find-type-definition
C-c C-l T D lsp-modeline-diagnostics-mode
C-c C-l T L lsp-toggle-trace-io
C-c C-l T a lsp-modeline-code-actions-mode
C-c C-l T b lsp-headerline-breadcrumb-mode
C-c C-l T f lsp-toggle-on-type-formatting
C-c C-l T h lsp-toggle-symbol-highlight
C-c C-l T l lsp-lens-mode
C-c C-l T s lsp-toggle-signature-auto-activate
C-c C-l F a lsp-workspace-folders-add
C-c C-l F b lsp-workspace-blacklist-remove
C-c C-l F r lsp-workspace-folders-remove
C-c C-l = = lsp-format-buffer
C-c C-l w D lsp-disconnect
C-c C-l w d lsp-describe-session
C-c C-l w q lsp-workspace-shutdown
C-c C-l w r lsp-workspace-restart
C-c C-l w s lsp
我这里显示是这样的,比如说 C-c C-l a
确实应该是个 prefix, 因为有
C-c C-l a a lsp-execute-code-action
C-c C-l a h lsp-document-highlight
我研究下 which-key 显示的信息是哪里获取的。
which-key 是有个函数 which-key-add-key-based-replacements 然后每个插件自己去适配的,emacs 的标准里面看起来没有这样的东西。
没有 g 是因为 g 是 C-M-
,所以要 SPC g
。
,这点暂时还不影响使用,谢谢回复。
lsp 是通过 lsp-enable-which-key-integration
这个函数加的,然后我的前缀是 SPC l
,所以 (setq lsp-keymap-prefix "SPC l")
就可以了
刚才发现 emacs 内置的一些 keymap 上面是有用 symbol 做为别名的,比如说这个 C-x C-k
kmacro-keymap。
参照
刚才更新了一下 Meow, 现在可以正确的显示这样的 keymap 别名了。
自己定义的例子
似乎没有什么好办法给已有的来添加。
嗯嗯,用是没有问题的,只是对 keypad 的提示有点疑问。
狗哥再麻烦问下,我在尝试将 scroll-up 和 scroll-down 通过 meow-normal-define-key 绑定到 C-f C-b 上的时候,发现这个绑定会同时影响 meow-left 和 meow-right ,后两个方法也变成了 scroll-up/down ……检查过 meow-selection-command-fallback ,没有相关配置。
另外,似乎 qwert 下的 z 键被默认绑了 meow-pop-selection ,我觉得应该使用 meow-pop 吧?不然无法利用 fallback pop 第二选区。
提个问题(或者是需求):
在查找 thing 的时候,对于
def fun(param) do
end
是可以用过 defun 确认范围的;但对于
test "xxxx" do
end
无效,这是 bug 吗?如果不是,希望可以增加对于任意 do end 块的支持。