gpt4 book ai didi

Emacs:尊重换行的行号

转载 作者:行者123 更新时间:2023-12-01 01:07:31 25 4
gpt4 key购买 nike

模式 :我使用 linum 作为行号,包 linum-relative 用于相对行号。如果重要的话,我也在使用视觉线模式。这些是灵活的。

目前,一行(即没有换行符的文本)仅被编号为一行,而不管它被换行多少次。我想知道是否有办法更改编号以尊重这些包装。所以,例如,

263   This is all in
a single line
without newlines

可能会变成:
263   This is all in
264 a single line
265 without newlines

并且,在相对模式下:
0     This is all in
a single line
without newlines

可能会变成:
-1    This is all in
0 a single line
1 without newlines

我真的只想要相对模式的变化,但不介意它是否溢出到绝对模式。

适用于两者的切换更改将是最有用的 - 这样,用户可以专门选择何时或使用哪种模式将其关闭或打开。

最佳答案

如果目标是导航,我建议通过流行的 ace-jump-mode 提供类似的解决方案。 .

如果目标只是持久的行编号,您可以考虑 longlines-mode而不是 visual-line-mode (但我个人会避免这种情况)。

王牌跳跃@GitHub

https://github.com/winterTTr/ace-jump-mode

演示:

http://dl.dropboxusercontent.com/u/3254819/AceJumpModeDemo/AceJumpDemo.htm

有了它,您只需按两个键就可以跳到任何行。

除了行,您还可以跳到任何单词的开头;还有个人角色级别的跳跃精度。如果需要,它可以配置为限制跳转到当前窗口/缓冲区,或跨当前帧中的所有窗口,甚至多帧。

但是,它不会将包裹线识别为可跳转位置。同样,您可能会考虑 longlines-mode如果它对您真的很重要,则作为解决此问题的方法,但据我所知,它被认为是 hack'ish 并已弃用 visual-line-mode .虽然,与 longlines-mode ,这些行在第一个示例中完全按照您的需要重新编号。

我假设目标是导航,因此,我认为只需稍加练习,您就会发现基于单词的跳转或什至通过增量搜索跳转是一种出色的解决方案。

更新

这是一个简单的解决方案,可以使用 emacs 缩小功能来欺骗 ace-jump 在 N 行内进行扫描;也许其他人可以改进它。您也可以对字和行模式执行类似的操作。

(defun brian-ace-jump-to-char-within-N-lines (&optional n)
(interactive "p")
(let* ((N (or n 0))
(query-char (read-char "Query Char:"))
(start (save-excursion
(forward-line (- N))
(point)))
(stop (save-excursion
(forward-line (1+ N))
(point))))
(unwind-protect
(condition-case err
(progn
(narrow-to-region start stop)
(ace-jump-char-mode query-char))
(error
(message (error-message-string err))))
(widen))))

关于Emacs:尊重换行的行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17480337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com