Подтвердить что ты не робот

Игнорировать один "орфографический" в Vim

Есть ли способ сказать Vim не выделять слово один раз? Например, в "password is abc123" я не хочу добавлять abc123 в список слов, но все равно не понравится большой красный прямоугольник вокруг него.

Уточнение: я ищу команду, которая заставляет проверку орфографии игнорировать текущее слово (или последнее неправильное письмо).

4b9b3361

Ответ 1

Когда ваш курсор расположен на слове, выделенном как орфографическое слово, вы можете добавить его в свой список слов, нажав zg. Vim позволяет одновременно загружать более одного списка слов, что позволяет иметь (например) глобальный список слов и список слов, специфичный для проекта.

По умолчанию при запуске zg он добавит текущее слово к первому spellfile, который он найдет в вашем пути выполнения для текущей кодировки. В моем случае это оказывается ~/.vim/spell/en.utf-8.add, когда я работаю с кодировкой UTF-8. Попробуйте выполнить следующие команды:

:setlocal spellfile+=~/.vim/spell/en.utf-8.add
:setlocal spellfile+=oneoff.utf-8.add

Это настроит вас так, чтобы zg (или 1zg) добавляет текущее слово в ваш файл заклинаний по умолчанию. Но запуск 2zg добавит текущее слово в файл с именем oneoff.utf-8.add в том же каталоге, в котором работает файл. Если файл не существует, Vim попытается создать его для вас.

Когда вы снова откроете файл в будущем, вам придется запустить те же две команды, чтобы Vim проверял файл заклинаний oneoff.utf-8.add. К сожалению, Vim не позволяет вам установить параметр spellfile в modeline, поэтому, если вы хотите запускать эти команды автоматически, когда файл открывается, вам придется найти другой путь. Этот вопрос содержит несколько идей о том, как вы можете продолжить.

Ответ 2

Не имея слова, хранящегося где-то, трудно (не сказать невозможного) всегда игнорировать его.

Но если вы хотите игнорировать слово действительно один раз, это только на мгновение, вы можете добавить его во внутренний список с помощью команды zG.

                                                             *zG*
zG              Like "zg" but add the word to the internal word list
                |internal-wordlist|.


                                               *internal-wordlist*
The internal word list is used for all buffers where 'spell' is set.  It is
not stored, it is lost when you exit Vim.  It is also cleared when 'encoding'
is set.