Функция орфографии VIM - PullRequest
1 голос
/ 12 апреля 2011

Я не хочу иметь функцию, которая включает проверку орфографии, затем переходит к следующему слову с орфографической ошибкой и заменяет первое предположение, вот что у меня так далеко:

function! Spell_new_word()
  set spell=true
  exe ']s'
  exe '1z='
  set spell=false
endfunction

, но это толькоПохоже, что написание установлено на true и ничего не делает .... что я делаю не так?

ОБНОВЛЕНИЕ:

Я устал менять exe на нормальный, но все же не повезло:

function! Spell_new_word()
  set spell!
  normal ']s'
  normal '1z='
  set spell!
endfunction

ОБНОВЛЕНИЕ 2:

Я устал от этого, и он все еще не работает:

function! Spell_new_word()
  set spell
  normal ]s
  normal 1z=
  set nospell
endfunction

Но я не думаю, что это проблема, я думаю, это не связано с ,d:

let mapleader = ","
namp ,d Spell_next_word()

Ответы [ 3 ]

2 голосов
/ 12 апреля 2011

В дополнение к реализации ответа Остина (см. Мой комментарий ниже), вам нужно научиться включать и выключать настройки vim. Это объясняется в различных записях под :help :set. В частности, вы должны использовать set spell для включения орфографии и set nospell для его отключения.

Существуют и другие конфигурации, которые могут потребоваться для исправления орфографии, например, установка 'spelllang'. Прочитайте :help spell.txt для деталей.

2 голосов
/ 12 апреля 2011
nnoremap ,d :call Spell_next_word()^M

что стоит отметить:

  1. выбор режима (обычный режим, без переназначения)
  2. включает : для входа в командный режим
  3. call функция
  4. Выполните это! ^M - это обычно , введенный с Cv Введите в Linux или CQ Введите в Windows

Дополнительно, возможно, включите

inoremap ,d ^O:call Spell_next_word()^M

(снова введите ^O как C-v C-o или C-Q C-o )

2 голосов
/ 12 апреля 2011

Измените exe на normal. exe для выполнения команд командной строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...