flash-emacs: 移植flash.nvim的动态字符跳转

Vibe了一个基于flash.nvim的动态字符跳转工具, 相比avy的优势是总是只须要输入一个字符, 而且不用像avy-jump-timer一样需要等0.5秒. 后面有需要也可以抄一下其他的function.

flash-example

项目地址: GitHub - JiaweiChenC/flash-emacs: Flash Emacs provides flash.nvim-like jump navigation for Emacs.

7 个赞

好东西,替换了。

AI 写的 lisp 代码会倾向非常深的层数的 let → if → let 嵌套。嵌套层数一多代码的可读性会极度下降,我会在 prompt 里让 AI 避免嵌套太多层 let, 多用 if-let* 还有 when-let* 生成结构扁平的代码。

可以, 我有时间整理一下.

确实,还有其他的好的建议给 ai 吗

1 个赞

这个与 Isearch 有什么不同?

这个会给跳转位置一个动态字符。

建议维护一个类似的 avy-pop-mark 做跳回。另外如果你想做选中功能,可以参考我做的 GitHub - bommbo/home-row-expreg: Select expansion regions with single home-row letters — no numbers, no RET.

我只用 Isearch 就能用,很方便。

不是一个东西吧, 一个是search工具, 一个是跳转工具

我用的better jump, 我自己用的时候加了一个hook:

(defun flash-emacs--set-jump-before-jump (&rest _args)
  "Set a jump point before running `flash-emacs-jump`."
  (better-jumper-set-jump))

(advice-add 'flash-emacs-jump :before #'flash-emacs--set-jump-before-jump)

我觉得这个跳转输入很棒,如何控制跳转方向?

跳转方向你是指只在前面或者后面显示label?

在flash.nvim里面这种功能直接和search绑在一起, 有需要的话可以看一下怎么让这个和isearch之类的结合.

就是字面意思,向上,或者向下。

有一定的需要。

为啥?flash.nvim倒是有方向相关的,但是那是ft之类的功能,或者行号一类。这个包显然只是做了动态字符跳转,向上向下即使做了相关的开关,也不符合flash.nvim操作逻辑吧。

我没用过 flash.nvim,只是觉得这样子会挺方便。

好吧。。。。但这真的不符合移植的逻辑。

fork 不就是,为了改么…