使用 Perl RegEx 的 ViM 语法文件同步匹配

可爱的香肠

我想知道是否可以在 .vim 语法文件中使用 Perl RegEx 而不是 Vim Speak。

如果我有一个语法文件,例如

/usr/share/vim/vim80/syntax/none.vim

" Vim syntax file
" Language:     Custom None
" Maintainer:   Nobody

if exists("b:current_syntax")
  finish
endif

syn match noneIndentError "*Some Vim Speak RegEx*"

hi def link noneIndentError Error

let b:current_syntax = "none"

是否可以在同步匹配中使用 Perl RegEx 而不是 Vim Speak 匹配?我的 RegEx 是为 Perl 编写的,我似乎无法在 Vim Speak 中使用它

(?:^)(?: {4})*+( {1,})

RegEx 仅测试缩进的 4 个空格中未包含的空格,如果您愿意,可以在此处查看

https://regex101.com/r/oBCjY4/1

muru

以下比赛应该做你想要的:

syn match noneIndentError /^\( \{4\}\)*\zs \{,3\}/

使用\zs,您可以从匹配中排除它之前的模式,因此它是编写零宽度环视的一种更简单的方法(类似于\KPerl)。然后它最多匹配 3 个空格。

这是它如何匹配各种行:

      foo #
   bar
     
    
        baz

  1. 6 个空格后跟文本
  2. 3 个空格后跟文本
  3. 5位
  4. 4格
  5. 8 个空格后跟文本

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用VIM JavaScript语法文件

来自分类Dev

使用Perl折叠Vim语法

来自分类Dev

'help.vim'语法文件,匹配'helpHeadline'元素的示例字符串

来自分类Dev

无法使用perl和regex在阵列中保存模式匹配

来自分类Dev

如何使用Perl在Regex中正确匹配TAB?

来自分类Dev

Perl-无法使用Regex替换tsv文件中的1

来自分类Dev

使用perl regex从文件中删除特定行

来自分类Dev

使用Regex替换或替换Perl

来自分类Dev

如何在Vim语法文件中的另一个匹配项中匹配模式

来自分类Dev

Vim语法文件:定义关键字以忽略空格

来自分类Dev

如何为vim应用语法文件?

来自分类Dev

创建一个基本的HTML vim语法文件

来自分类Dev

Vim-自定义通用语法文件

来自分类Dev

如何为vim应用语法文件?

来自分类Dev

vim没有选择新的语法文件

来自分类Dev

使用vim和regex翻译代码注释

来自分类Dev

定义vim语法文件,该文件有选择地在不同区域中应用其他语法文件

来自分类Dev

定义vim语法文件,该文件有选择地在不同区域中应用其他语法文件

来自分类Dev

强制Bash使用Perl RegEx Engine

来自分类Dev

R:使用strsplit和perl REGEX语法提取大写字母和特殊字符

来自分类Dev

Vim高亮显示特定的文件类型(将语法文件,vim事件,行放入vimrc的位置)

来自分类Dev

vim regex:在模式中间与否定匹配

来自分类Dev

vim regex:在模式中间与否定匹配

来自分类Dev

在foreach循环中使用全局修饰符从perl regex中提取匹配项

来自分类Dev

perl-如何使用RegEx获取所有相似的匹配子字符串

来自分类Dev

Perl和Regex-单行模式匹配

来自分类Dev

在Perl中使用RegEx从设备配置文件中删除零件

来自分类Dev

使用Bash,Perl和Regex将文本文件中的变量提取到数组中

来自分类Dev

perl regex可以缩写文件中的列

Related 相关文章

  1. 1

    使用VIM JavaScript语法文件

  2. 2

    使用Perl折叠Vim语法

  3. 3

    'help.vim'语法文件,匹配'helpHeadline'元素的示例字符串

  4. 4

    无法使用perl和regex在阵列中保存模式匹配

  5. 5

    如何使用Perl在Regex中正确匹配TAB?

  6. 6

    Perl-无法使用Regex替换tsv文件中的1

  7. 7

    使用perl regex从文件中删除特定行

  8. 8

    使用Regex替换或替换Perl

  9. 9

    如何在Vim语法文件中的另一个匹配项中匹配模式

  10. 10

    Vim语法文件:定义关键字以忽略空格

  11. 11

    如何为vim应用语法文件?

  12. 12

    创建一个基本的HTML vim语法文件

  13. 13

    Vim-自定义通用语法文件

  14. 14

    如何为vim应用语法文件?

  15. 15

    vim没有选择新的语法文件

  16. 16

    使用vim和regex翻译代码注释

  17. 17

    定义vim语法文件,该文件有选择地在不同区域中应用其他语法文件

  18. 18

    定义vim语法文件,该文件有选择地在不同区域中应用其他语法文件

  19. 19

    强制Bash使用Perl RegEx Engine

  20. 20

    R:使用strsplit和perl REGEX语法提取大写字母和特殊字符

  21. 21

    Vim高亮显示特定的文件类型(将语法文件,vim事件,行放入vimrc的位置)

  22. 22

    vim regex:在模式中间与否定匹配

  23. 23

    vim regex:在模式中间与否定匹配

  24. 24

    在foreach循环中使用全局修饰符从perl regex中提取匹配项

  25. 25

    perl-如何使用RegEx获取所有相似的匹配子字符串

  26. 26

    Perl和Regex-单行模式匹配

  27. 27

    在Perl中使用RegEx从设备配置文件中删除零件

  28. 28

    使用Bash,Perl和Regex将文本文件中的变量提取到数组中

  29. 29

    perl regex可以缩写文件中的列

热门标签

归档