用fennel写配置有啥好处不
- 使用了伟大的Lisp语言
- 发现原本复制粘贴就能搞定的配置现在得折腾一番时,会觉得自己是个大聪明
- 用宏包装aug au看起来优雅一些,(虽然我其实还是拿vim.cmd一裹
我是做了一个快捷键,按两下f2,自动往行尾追加一个分号。现在用习惯了,没有这个快捷键我都不知道怎么加分号了
真实。但是乐趣就在折腾,不误事就好。折腾完成就感足足的
看不懂 不会玩。。。难受 我还是继续emacs吧
Fennel 有 buffer-local variable 吗?Match data 和 current buffer 和 window-configuration 是 first-class citizen 吗?其中的 string 和 buffer 直接拥有 text property 吗?
Emacs Lisp 好处不仅在于是 Lisp 方言,还好在专门针对编辑器的扩展进化了几十年,其他语言中(包括其他 Lisp 方言)绝对找不到类似 save-excursion 或 with-current-buffer(-window) 的概念。
在 evil 的插入模式下启用 emacs 的光标移动快捷键,很简单.
I like to navigate with evil and edit with emacs
现在感觉 helix 可用性好起来了,什么 tree-sitter based 的 syntax-highlighting 和 built-in 的 lsp 支持都挺诱人的
好像一直没有clojure支持
emacs在开箱即用方面,确实没法跟vim和helix比
别的不说,论开箱即用,Emacs和Vim半斤八两。
这个貌似要看 tree-sitter?不过可以自己添加的https://docs.helix-editor.com/guides/index.html 我看了一下,language support 里确实没有
我感觉 emacs 用鼠标点来点去比 vim 简单。。vim 一开始没设置,鼠标都动不了
Helix确实在开箱即用上有优势,(n)vim没有吧,treesitter lsp这种虽然在neovim官方repo中提供了最小接口,但具体到需要还得(官方)插件。不过,nvim的lua让人没那么惧怕上手,如果这能视为某种程度上的"开箱即用"的话。
现在已经是neovim 0.10了,开箱易用越来越好了
感觉就LSP而言Emacs的性能相较于Neovim和Vscode差距还是很大的。 就lsp-bridge和clangd而言,我输入之后lsp-bridge会闪一下刷新acm,但是nvim-cmp就不会这样,丝滑得多。
acm闪一下估计是因为bridge 为 yasnippet弄了延迟加载吧, 可能观感上不好.
如果yanippet性能暂时无解的话, 你可以考虑写一个acm-switch-template
命令, 绑定在一个键位上,正常补全不带template, 需要的话可以临时切换就行了, 其实我在corfu就是这么玩的:
(defun corfu-switch-yas ()
"Switch completion backend between yasnippet and default.
If no corfu frame exists, call completion with yasnippet directly."
(interactive)
;; 如果不是 yasnippet corfu frame 就切换为 yas 补全
(if (not (and (frame-live-p corfu--frame)
(frame-visible-p corfu--frame)
(eq (corfu--metadata-get 'company-doc-buffer)
'yasnippet-capf--doc-buffer)))
(let ((completion-at-point-functions '(yasnippet-capf t)))
(completion-at-point))
;; 否则就正常补全
(completion-at-point)))
但是这样的话 延迟的timer就要去掉了 @manateelazycat 话说yasnippet的原作者搞得新 snippet package好像进度相当缓慢.
但我这里不只有yasnippet,还有其他情况也会闪。
比如定义了一个class Edge
类型的数组edge
,输入e之后会先出来edge[x]
,闪一下再出Edge