VIM拼写检查:在引号字符串中 - PHP

14

我在想是否有可能在使用PHP编码时运行vim拼写检查器。如果我禁用语法高亮,我可以运行它,并且它会突出显示几乎所有方法/函数名称,因为它们不是英文单词。

那么,我的问题是,我能否仅针对PHP文件中的字符串运行拼写检查?

例如,仅在'引号(和“引号)内部:

$paragraph ='Lorem ipsum dolor sit amet,consectetur adipiscing elit。In est libero,dictum ut suscipit eget,lacinia in justo。Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas。Praesent sit amet sem libero,in pretium enim。Pellentesque tortor ante,imperdiet quis mattis in,tincidunt et ligula。Cras porta velit a ligula venenatis placerat。';

$paragraph2 = "Vestibulum quis eleifend lectus。Vestibulum odio odio,mollis at eleifend a,adipiscing sed quam。Nam quis nisi quis mauris faucibus hendrerit eu a leo。Sed feugiat purus sit amet purus congue quis semper diam malesuada。Vivamus et enim non arcu pretium sollicitudin。Nullam blandit,lorem eu aliquet tincidunt,enim mauris placerat lectus,id faucibus nulla lectus non elit。Sed eget fermentum lacus。Ut tempus pulvinar neque,vel pellentesque purus aliquet quis。Vivamus molestie pretium quam at imperdiet。Maecenas diam turpis,malesuada ut sollicitudin ac,congue eleifend urna。Quisque id ipsum eget ipsum tempus blandit at vel magna。Fusce eu felis metus。";


已删除“PHP”标签,因为它与 PHP 没有直接关联(例如,它可以是任何编程语言)。 - Theodore R. Smith
这与特定语言的语法文件有关,其中除了不同的着色之外,还指定了可以合理地进行拼写检查的区域。 - mike3996
1个回答

13

查看vim帮助::help spell-syntax

您可以定义特定的语法组进行拼写检查。

可能有更好的方法(使用~/.vim/after/syntax/php.vim文件?),但一个简单的技巧是在~/.vim/syntax下创建php的个人版本语法文件(可以通过执行:e $VIMRUNTIME/syntax/php.vim:saveas ~/.vim/syntax/php.vim来完成),并将所有文本contains=@phpAddStrings替换为contains=@Spell,@phpAddStrings。下次打开php文件时,像正常打开拼写检查功能一样,执行:set spell即可。


1
这让我感到非常高兴,谢谢!我还学习了阅读语法定义,如果你将PHP heredoc命名为“html”或“javascript”,语法高亮器会切换模式并使用其html或javascript规则标记内容。 - Jeremy Wadhams
太好了!要在注释中启用语法高亮,只需将所有 contains=phpTodo 替换为 contains=@Spell,phpTodo 即可。 - Ikar Pohorský

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接