7

スペルミスがある場合(with set spell)、赤で強調表示されます(good!)が、現在の行として行が強調表示されると、赤が消えます(bad)。削除set culすると問題は解決しますが、強調表示されている間、単語を赤でマークしたままにするにはどうすればよいですか?1行に複数の単語のつづりが間違っている可能性があります。また、入力中のつづりの間違いは、次の単語に進むまで非表示になります。

vimrc:https
: //gist.github.com/OscarGodson/d1b05d52df4ff160b891配色:https ://github.com/tomasr/molokai

4

3 に答える 3

6

1)vimの配色またはSpellBadのハイライトスキームを変更できます。2番目のケースの1つの例は、vimrcに次のように追加することです。

hi clear SpellBad
hi SpellBad cterm=bold

2)(解決策ではありません)誰かが「作成中のスペルチェック」は少し煩わしい/気が散るようなものであり、記事を書き終えるまでスペルチェックをオフにすることを好むかもしれません。

于 2013-02-22T07:08:21.197 に答える
2

問題は、カーソルラインの強調表示が構文の強調表示よりも優先され(スペルエラーはそれに属します)、変更できないことです。(優先度は新しい機能でのみ指定できますmatchadd()。)

エラーの強調表示のためにこの問題を提起したことがありますが、何も発生しませんでした。(私はまだその日のパッチを実装したいと思います。)

問題は、背景の強調表示のオーバーラップだけです。GVIMでは、ほとんどの配色はその問題を回避するためにundercurl属性を使用します。コンソールでは、強調表示を前景色、斜体、または太字の属性に変更して回避することしかできません。

回避策

reverse巧妙な回避策の1つは、属性を追加するときに前景色と背景色を入れ替えることです。

hi SpellBad cterm=NONE ctermbg=red ctermfg=white

hi SpellBad cterm=reverse ctermbg=white ctermfg=red

これらの2つの変更は通常は互いに打ち消し合いますが、CursorLineでは、前景色がカラーリングに寄与し、読みにくい白地にカーサラインが赤に変わります。

于 2013-02-22T08:13:36.487 に答える
0

不思議なことに、他のポスターからの両方の回答から飛び降りて、vimrcに次のように追加すると、そのようなフォントタイプを混在させることができないため、端末が「イタリック」スイッチを実行できないため、誤って赤い背景が持続しました(おもう)。gvimが私のスペルミスを問題なく強調しているので、gvimがテストされているvimrcのセクションに貼り付けました。試してみる!

if has("gui_running")
    #all my gvim settings
else #we're in terminal
    hi clear SpellBad
    hi SpellBad cterm=bold,italic ctermfg=red
endif
于 2014-04-14T18:03:43.853 に答える