Neovim 0.5 真香啊

我感觉 emacs 用鼠标点来点去比 vim 简单。。vim 一开始没设置,鼠标都动不了

1 个赞

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好像进度相当缓慢.

1 个赞

但我这里不只有yasnippet,还有其他情况也会闪。 比如定义了一个class Edge 类型的数组edge,输入e之后会先出来edge[x],闪一下再出Edge

顺带问一下flash.nvim在Emacs里有没有对应的实现?

有点像 Symbol-Overlay

可以发视频看看啥效果?

看了一下flash.nvim的功能挺多,你想要的是哪个功能?可以看看avy

fFtT Doom Emacs已经在evil里做了(虽然不清楚是什么包)。
Standalone Jump和avy-goto-char-timer比较像,但是labels不会包括有可能键入的字符,所以没有timer(代价是labels变少了)。
比如这张图里面match再多h也不会作为label:
Search Integration没找到对应实现,相较于Standalone Jump而言不同的一点是它可以全文搜索而不仅限于当前屏幕(当然label也更少)。
TreeSitter抽象语法树的快速选择也没找到对应实现。(和eaf-browser-copy-code很相似,不过用在代码而不是eaf里面,而且实现差别应该很大)。
跟Symbol-Overlay好像没啥关系啊,flash不仅高亮而且能跳转。

录视频的话我还在找Hyprland里面的录屏工具 :sweat_smile:所以暂时搞不成。

我目前没有看到和flash.nvim类似的包,只能自己hack或者等大神了。

这个插件有啥好处哇?

可以试试我的几个脚本 可以录屏 视频转gif

我是把脚本入口放到消息通知 的按钮面板上

效果可以看我我这个回复里的动图

1 个赞

最大的好处,我认为是用treesitter定位选择准,在所在位置开始选定,他会标记各个语法节点,这样不用 expand-region.el 那样一下一下按找到想要的位置;另外是增量搜索,非常人性化。

可以在这个仓库里找找有没有你想要的

vscode、neovim、vim、emacs的awesome我都读过,如果不把neovim当一个后端的话暂时没有类flash.nvim的。

这个东西把Neovim本身一个特性叫命令行预览拿过去当LSP rename的预览,这件事在Emacs里应该也是没有实现的。

不带语法考量(tree-sitter)的话,anzu 和 symbol-overlay 效果类似。vim模式的话有anzu-evil 支持