gpt4 book ai didi

vim - 使用 matchit 匹配反引号 --- 可能吗?

转载 作者:行者123 更新时间:2023-12-02 21:37:39 25 4
gpt4 key购买 nike

我最近写了很多 RST,我希望 % 击键能够在重音(即反引号)字符之间进行匹配。

`The cursor is at the |vertical line`

然后点击% 移动光标,如图所示

`The cursor is at the vertical line|`

我尝试为 matchit 插件设置 b:match_words ,但这没有帮助。

任何提示表示赞赏。

最佳答案

请原谅我自吹自擂,但我是 matchit 插件的专家。

尽管它旨在扩展内置匹配功能,但 matchit 以多种方式对其进行了扩展。其一,它允许您匹配正则表达式,而不仅仅是单个字符。通过使用 vim 的词头和词尾模式,您可以获得非常好的结果:

:let b:match_words='`\<:\>`'

这当然适用于您给出的单行示例。同样,您可能会认为起始 ` 前面通常没有非空白字符,并且结束字符后面也没有非空白字符。 (如果否定太多,那么“这是标记”通常会开始一个新行或跟随一个空格或制表符;并且后面通常跟随一个行或空格或制表符的结尾。)然后您可以使用

:let b:match_words='\S\@<!`:`\S\@!'

matchit 插件试图实现 vim 的设计目标,包括 :help design-documented。标准 vim 发行版包括 $VIMRUNTIME/macros/ 中的 matchit.vim (脚本)和 matchit.txt。您可以阅读那里的文档,也可以按照 :help matchit-install 中的说明进行操作,并使用 :help 浏览文档。

:help b:match_words下,它说,

Tips: Be careful that your initial pattern does not match your final pattern.

这是因为,当您按下 % 键时,脚本必须能够确定它是在起始模式还是结束模式上。它做出此决定所需的唯一信息是您在 b:match_words 中告诉它的信息。

关于vim - 使用 matchit 匹配反引号 --- 可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21008876/

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