Проверка орфографии Vim не работает с текстовым файлом - PullRequest
0 голосов
/ 12 марта 2020

Я попытался проверить орфографию для текстового файла, добавив его в мой vimr c

augroup set_spell
    autocmd!
    autocmd FileType text :setlocal spell spelllang=en_us
augroup END
nnoremap <F10> :setlocal spell! spelllang=en_us<CR>

И это не сработало
Я попытался :set spell и ничего не произошло
По некоторым причинам, когда я запускал :source $MYVIMRC (все еще в этом окне), это работало. Хотя я могу добавить команду сорсинга в свой vimr c, но мне не нравится ее блестящее ощущение.
Что я должен делать?

Редактировать: Я нашел решение

Это проблема с этим плагином vim rainbow https://github.com/frazrepo/vim-rainbow
Таким образом, я удаляю это и устанавливаю это вместо https://github.com/luochen1990/rainbow

Ответы [ 2 ]

1 голос
/ 12 марта 2020

Откройте файл и сразу же выполните :set ft? и :set spell?. Убедитесь, что они возвращают text и spell соответственно. Если text не возвращается, тип файла не определяется. Если text возвращается, а spell - нет, то автокоманда не работает.

Кроме того, вы должны заключить в автокоманды augroup. Смотри :h autocmd-groups. Это может выглядеть так:

augroup set_spell
    autocmd!
    autocmd FileType text setlocal spell
augroup END

Поскольку это автокоманда FileType, вам, вероятно, лучше вообще пропустить augroup и autocommands и просто поместить строку setlocal spell в файл ftplugin. Это было бы обычно go в ~/vim/ftplugin/text.vim.

0 голосов
/ 22 марта 2020

Как более общее решение: иногда плагины темы перезаписывают группу подсветки SpellBad (это одна из тех проблем gui против терминалов). Хотя проверка орфографии работает, она просто не выделяется. Не удаляя свою тему, вы можете просто добавить больше стиля в группу подсветки SpellBad, когда вы будете sh:

Просто добавьте это в свой .vimr c:

"underline spell errors in terminals
hi SpellBad cterm=underline

или любой действительно другой стиль:

hi SpellBad ctermfg=Cyan cterm=bold 

Имейте в виду, что это не перезаписывает все существующие стили. Чтобы действительно перезаписать его, вам может понадобиться сначала использовать hi clear SpellBad.

См. :h highlight для всех деталей. Для других групп заклинаний см. :h hl-SpellBad.

...