9 我有lblSERINOd句子中的单词。单词之间用空格隔开。 我想将d所有此类单词的末尾替换为u。因此,例如lblSERINOd将看起来像lblSERINOu。 我曾尝试过,s/.*\ud /u /g但Vim表示找不到.*\ud。 这里有什么问题? regular-expression — 乌特库 source
10 一种方法是: :%s/\u\zsd\>/u/g 起初,我认为新的Vim的正则表达式引擎(被标榜为“更快,但有限”)无法理解\u的:substitute,但这种情况并非如此。我宁可认为现在的OP忘记使用%和简单的搜索就错线; 这可以解释错误消息,但是当然仍然需要确认为“该”原因。 — VanLaser source 2 您确定引擎是“ re”吗?我不知道这有什么不同。 — 克里斯蒂安·布拉班德 是的,一点也不知道。。。我做了一个没有用的快速测试,然后pattern在帮助文件中重新阅读,看到提到新引擎比旧引擎更受限制,假设是原因.. 。我的第一个测试是相当/可能是有缺陷的 — VanLaser
5 看来您可能已将Vim的'magic'选项从其默认值更改为'nomagic'。您可以使用以下命令进行检查 :verbose set magic? 如:help / magic所述,'nomagic'导致将正则.表达式中的视为字面点,而不是表示“匹配任何字符”的元字符。 我强烈建议将此选项保留为默认值。这是一些确实不应该使用的选项,可能会在插件中引起细微的问题。 — 詹姆士山 source