14

辞書に追加するには頭字語と固有名詞が多すぎます。大文字を含むすべての単語をスペル チェックから除外したいと考えています。単語は、while スペースまたは特殊文字 (つまり、アルファベット以外の文字) で区切られます。これは可能ですか?

小文字と特殊文字が大文字の単語を囲むと、回答の最初の部分が失敗します。

,jQuery,
, iPad,
/demoMRdogood/
[CSS](css)
`appendTo()`,

小文字の単語が特殊文字で区切られている場合、現在の回答では誤検知が発生します (スペルチェックから除外されます)。以下に例を示します。

(async)
leetcode, eulerproject, 

報奨金は、この問題を解決した人のためのものです。

4

2 に答える 2

12

このコマンドを試すことができます:

:syn match myExCapitalWords +\<[A-Z]\w*\>+ contains=@NoSpell

上記のコマンドは、クラスター\<[A-Z]\w*\>の一部として記述されたすべてのパターンを処理するように Vim に指示します。@NoSpellクラスターのアイテムは@NoSpellスペル チェックされません。

さらに、少なくとも 1 つの非アルファベット文字を含むすべての単語をスペル チェックから除外する場合は、次のコマンドを呼び出すことができます。

:syn match myExNonWords +\<\p*[^A-Za-z \t]\p*\>+ contains=@NoSpell

詳細については、入力:h spell-syntaxしてください。

于 2013-08-12T21:00:29.450 に答える
6

これが私のために働いた解決策です。これは、質問で言及したケースに合格します。

syn match myExCapitalWords +\<\w*[A-Z]\K*\>+ contains=@NoSpell

\Sの代わりに使用する代替ソリューションを次に示します\K。別の解決策では、括弧内にあり、先頭に大文字が続く文字が除外されます。これはより寛大であるため、URL に対してより適切に機能します。

syn match myExCapitalWords +\<\w*[A-Z]\S*\>+ contains=@NoSpell

スペルチェックから「's」を除外する

s上記の解決策に関係なく、アポストロフィの後はスペルミスの文字と見なされます。簡単な解決策はs、辞書に追加するか、そのケースを追加することです。

syn match myExCapitalWords +\<\w*[A-Z]\K*\>\|'s+ contains=@NoSpell

これは質問の一部ではありませんでしたが、これはスペルチェックプロセスの一般的なケースであるため、ここで言及しました。

于 2013-08-23T21:58:14.290 に答える