Проверка правописания комментариев в vim

22

Я профессиональный программист C / C ++, который делает много орфографических ошибок в комментариях. Я хочу настроить vim таким образом, чтобы проверка орфографии искала только слова с ошибками в комментариях. При необходимости я хочу добавить специальные символы вокруг комментария, которые vim может искать, чтобы узнать, где проверить, например:

 int main(){
     /*<--C_S 
        This is comment line in main function ..
        C_S-->*/
 }

Если плагин может работать без C_Sсимволов, это было бы еще лучше. Я хочу, чтобы программа проверки орфографии высвечивала любые орфографические ошибки, обнаруженные в комментариях. Это уже существует? Или это легко написать самому?

Викас Кумар
источник

Ответы:

21

Хорошие новости, это уже часть Vim. Включите подсветку синтаксиса ( :syntax enable), и об этом следует позаботиться автоматически с файлами синтаксиса по умолчанию, упакованными с любым относительно недавним выпуском vim. Смотрите :help spell-syntaxдля объяснения. Короче говоря, файлы синтаксиса можно использовать @Spellи @NoSpellдля указания, где проверка правописания должна или не должна происходить.

jw013
источник
2
Это относится только к буферам, синтаксические файлы которых явно разрешают проверку орфографии. Большинство, по моему опыту, нет . Поскольку во всем мире позволяет проверку орфографии не обязательно является безопасным вариантом, я обычно простираться Psirus ' полезный ответ с augroupкоторой тело походит autocmd FileType md,rst,text,yaml setlocal spell spelllang=en_ca. Смотрите также подраздел ЗАПИСАНИЕ этого .
Сесил Карри
15

Это уже существует. Просто введите, :set spell spelllang=en_usи это подчеркивает орфографические ошибки. Настройте язык в соответствии со своими потребностями. Дополнительные языки можно найти здесь .

Psirus
источник
1

Как говорили другие, он уже существует. Тем не менее, радужный плагин (по умолчанию в spf13) испортит проверку орфографии. Мне потребовалось время, чтобы понять это.

Проблема исходит из следующей строки:

let def_rg = 'syn region %s matchgroup=%s containedin=%s contains=%s,@NoSpell %s'

Радуга неправильно добавляет @NoSpellко всем областям радуги.

См. Https://github.com/luochen1990/rainbow/issues/30 для получения подробной информации.

Хай фэн као
источник
1
Ваш ответ был бы намного лучше, если бы вы приложили усилия, чтобы обобщить проблему и решить ее, чтобы после прекращения действия ссылки основные элементы все равно присутствовали в вашем ответе.
Загримсан