2013-09-21 3 views
0

У меня есть пакет файлов, которые я бы хотел проверить. Когда я Переберите файлы и открывать каждый из них с этой командой:Vim exit, если нет орфографических ошибок

vi -c 'set spell' -c 'normal ]s' $file 

Если файл не имеет опечаток, то я слышу гудок, и я нажимаю shift+z+z закрыть файл и перейти к следующему , Если у файла есть опечатки, тогда я должен решить, хочу ли я исправить орфографию или добавить слово в файл .spl. Я не против выполнения этой части задачи, и я предпочел бы сделать эту часть, вместо того, чтобы автоматически добавлять каждое слово с ошибкой в ​​файл .spl и т. Д.

Но я хотел бы лучше автоматизировать это, поэтому что в случаях, когда нет орфографических ошибок, файл автоматически закрывается и переходит на следующий. Таким образом, если во всей пакете файлов нет орфографических ошибок, цикл for может завершиться без какого-либо взаимодействия с пользователем.

Чтобы сделать это, мне нужен способ определить, есть ли какие-либо опечатки в файле. Как я могу это сделать? Вим, очевидно, знает, как это сделать, потому что он подает звуковой сигнал, когда нет орфографических ошибок. И еще лучше, что такое однострочный шрифт, который я могу использовать для замены однострочного слоя, который я использую выше, который автоматически выходит из vim, когда в файле нет орфографических ошибок (и в противном случае пользователь может следить за ошибками (ошибками) а затем вручную закрыть файл)?

РЕШЕНИЕ:

SpellCheck плагин @Ingo Karkat работал отлично для этой задачи. Команда :XitOrSpellCheck выходит из vim, если нет орфографических ошибок, и в противном случае она не прекращается и выделяет первое слово с ошибками. Таким образом, этот плагин и эта команда точно решают эту проблему.

Таким образом, после установки плагина проверки правописания, исправление к однострочнику выше:

vi -c 'XitOrSpellCheck' 

ответ

1

Мои SpellCheck plugin имеет такие команды, как :BDeleteUnlessSpellError, :WriteUnlessSpellError, :WriteDeleteUnlessSpellError, и вы можете создать свою собственную такую ​​команду легко.

Смежные вопросы