在vim中查找带有正则表达式的非LaTeX字符(如尖锐重音)

在vim中查找带有正则表达式的非LaTeX字符(如尖锐重音),vim,latex,regex,Vim,Latex,Regex,我正在将bibtex引用粘贴到bibex中。有些名称包含latex跳过的字符。比如,他,。在vim或正则表达式中是否有方法搜索latex跳过的所有字符?我认为有一种方法是使用正则表达式来搜索任何不包含0-9、a-z、a-z和一些字符(如/\$我不知道LaTeX忽略了哪些字符),但是如果您正在编辑的文件是用UTF-8编码的,您可以尝试搜索ASCII指令集0-127之外的字符;或32-127 作为Vim中的搜索命令: /[^\d0-\d127] /[^\d32-\d127] 你也可以用十六进制或

我正在将bibtex引用粘贴到bibex中。有些名称包含latex跳过的字符。比如,他,。在vim或正则表达式中是否有方法搜索latex跳过的所有字符?我认为有一种方法是使用正则表达式来搜索任何不包含0-9、a-z、a-z和一些字符(如/\$

我不知道LaTeX忽略了哪些字符),但是如果您正在编辑的文件是用UTF-8编码的,您可以尝试搜索ASCII指令集0-127之外的字符;或32-127

作为Vim中的搜索命令:

/[^\d0-\d127]

/[^\d32-\d127]
你也可以用十六进制或八进制代替十进制;看见这要求l和\not在的值中不存在,它们在默认状态下不存在


这适用于任何“定义与ASCII相同”的编码,即UTF-8和大多数“拉丁”编码。如果您处理的编码与ASCII冲突,则需要细化范围规范。

我不知道LaTeX忽略了哪些字符,但如果您正在编辑的文件是UTF-8编码的,则可以尝试搜索ASCII指令表0–127之外的字符;或32-127

作为Vim中的搜索命令:

/[^\d0-\d127]

/[^\d32-\d127]
你也可以用十六进制或八进制代替十进制;看见这要求l和\not在的值中不存在,它们在默认状态下不存在


这适用于任何“定义与ASCII相同”的编码,即UTF-8和大多数“拉丁”编码。如果您正在处理与ASCII冲突的编码,则需要细化范围规范。

解决此问题的一种方法是使用latex package'\usepackage[utf8]{inputenc}'但我仍然希望搜索尖锐的重音字符。我认为这会更好,因为它更多地是关于正则表达式而不是vim。解决此问题的一种方法是使用latex包'\usepackage[utf8]{InputNext}“但我仍然希望搜索尖锐的重音字符。对我来说,这样做会更好,因为它更多地是关于正则表达式而不是vim。