gpt4 book ai didi

regex - 单行代码折叠

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

编辑 我认为漂亮模式在概念上比各种折叠模式更接近我想要的,但我需要能够用其他字符串替换字符串,而不是单个字符。据我所知,pretty-mode 只允许用唯一字符替换字符串。

我希望在 Emacs 中做一些非常具体的事情,这是一种代码折叠。我读过这个: Code folding in Emacs

它已经被关闭了:

How to achieve code folding effects in Emacs?

但是我正在尝试做一些特别的事情,因为我不想折叠函数行:我确实想在一行中折叠字符。

我也完全不喜欢导航:它不是为了方便导航。这只是为了让屏幕稍微整洁一点。

例如,如果我有这个:

super verbose syntax my_bar = 42;
hyper long syntax my_foo = 84;

我想让它在 Emacs 中显示为:

svs my_bar = 42;
hls my_foo = 84;

因为我不仅阅读了一百万次“超冗长语法”/“超长语法”而且因为十年来当我输入“svs”时它会自动扩展为“超冗长语法” "和 'hls' 自动扩展为“超长语法”,我不可能将“svs”用作真正的标识符,我也不可能不会立即意识到发生了什么。当然,文件/缓冲区仍应包含非常冗长的语法。

我纯粹想要一个“字符折叠在一行”。

因此,简而言之,当我键入“ super 详细语法”时,我希望它在屏幕上自动折叠为“svs”(当我输入“svs”TAB 时,它会扩展为“ super 详细语法”,但这是别的……在我的例子中,键入 svs TAB 会扩展为“ super 冗长的语法”,然后应该将其直接折叠到 屏幕上 的“svs”。

这会节省大量屏幕空间,帮助我专注于更重要的事情。

(作为一个很酷的副作用,它还会垂直排列长度不同的保留关键字,使代码对我来说更具可读性)

如何在 Emacs 下实现这一点?是否已经有次要模式在执行此操作?

最佳答案

尝试将这两个表达式添加到您的模式 Hook 中:

(font-lock-add-keywords
nil
'(("super verbose syntax" (0 '(face default display "svs") append))
("hyper long syntax" (0 '(face default display "hls") append)))
t)
(push 'display font-lock-extra-managed-props)

关于regex - 单行代码折叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11604589/

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