Como faço para que a janela de seleção de verificação ortográfica permita digitar minha própria correção?

14

Ao fazer a verificação ortográfica, digitar z=, exibe uma lista de seleção, conforme mostrado abaixo.

selecione correto

Como você pode ver a ortografia correta; "ie" não é mostrado como nenhuma das opções. Gostaria de aprimorar este menu, para que eu possa digitar "ie" e pressionar enter e substituí-lo.

Também seria bom, se como parte da mesma etapa, se eu pudesse começar a digitar o nome de uma das opções apresentadas e a guia competir com isso - minha mente trabalha melhor na substituição de palavras inserindo palavras em vez de digitar números.

Eu suspeito que isso precise ser feito com um plug-in, mas não tenho certeza de que não seja apenas uma opção de configuração.

Lyndon White
fonte

Respostas:

5

Olhar para a spell_suggest()função spell.cnisso não parece possível com z=. Depois de obter e exibir todas as sugestões possíveis, ele faz:

/* Ask for choice. */
selected = prompt_for_number(&mouse_used);

prompt_for_number()vive misc1.ce faz exatamente o que você esperaria: solicita um número (também veja get_number()no mesmo arquivo). Mapeamentos ou outras entradas não são permitidos.


Uma segunda opção é usar o feitiço "conclusão" do Vim através de Ctrl x+ sou Ctrl x+ Ctrl s1 no modo de inserção. Isso faz aproximadamente o que você deseja. Você pode escolher entre as conclusões com Ctrl ne Ctrl pou as teclas de seta ou digitar sua própria melhoria.

Você pode usar o plug-in supertab para fazer isso com sua Tabchave. :help ins-completiontambém tem uma CleverTab()função que você pode adaptar para isso.

Para mais informações, consulte: :help ins-completion, :help i_CTRL-X_s


Finalmente, o Vim tem a spellsuggest()função, que retorna uma lista de sugestões de ortografia:

:echo spellsuggest('hellz')
['hells', 'hello', 'hell', 'help', 'halls', 'heals', 'heels', 'hills', 'hulls', 'hell''s',
 'hellos', 'hell’s', 'held', 'helm', 'tell', 'well', 'bells', 'cells', 'dells', 'fells',
 'helot', 'helve', 'hertz', 'hilly', 'holly']

Você pode usar esta função para construir sua própria tela de sugestões de feitiços.


Nota de rodapé

1 : Observe que o uso Ctrl spode não funcionar, como os documentos mencionam:

NOTA: O CTRL-S suspende a exibição em muitos terminais Unix. Use 's' em vez disso. Digite CTRL-Q para continuar a exibição.

Se você estiver usando o gVim, usar Ctrl sdeve funcionar. Ou você pode desativar isso no seu terminal com stty -ixon.

Martin Tournoij
fonte
3

Vou expandir / consolidar a resposta @ quincy-bowers:

  1. Você não pode inserir suas próprias sugestões na tela de sugestões de ortografia.
  2. Não faz muito sentido (no VIM) inserir suas próprias sugestões na tela de sugestões de feitiços.

O VIM é um editor de texto. Como é o que faz melhor, deixa a edição para si mesma. Em outras palavras, a resposta para alterar uma palavra com erro de ortografia para sua própria sugestão personalizada, basta pressionar enterpara descartar a lista de sugestões e alterar a palavra para a ortografia correta manualmente. ( ciwfunciona perfeito para isso).

Então (como sugeriu @ quincy-bowers), se você deseja que a ortografia correta personalizada apareça nas listas de sugestões subsequentes, digite zgquando o cursor estiver na palavra e ela será adicionada ao seu dicionário ortográfico (consulte :help zgpara obter detalhes).

No entanto, depois de dizer tudo isso, não impediu as pessoas inteligentes que usam o VIM de encontrar alternativas (maneiras ilimitadas de esfolar um gato que eles dizem) e, portanto, você pode tentar um plugin alternativo, por exemplo , sugerir unificar-ortografia .

Sukima
fonte
Descrever o fluxo de trabalho atual é mais um comentário do que uma resposta. Embora você o explique bem.
Lyndon White
1
@ Oxinabox talvez você esteja procurando algo mais nas linhas de: vim.org/scripts/script.php?script_id=4929 talvez?
Sukima
Sim, isso é muito mais parecido com o que estou procurando.
Lyndon White
2

Sem adicionar plugins, você pode adicionar uma boa palavra conhecida ao seu arquivo de ortografia. Em vez z=de exibir as sugestões de ortografia, selecione visualmente o texto que deseja adicionar ao arquivo de ortografia e pressione zg.

Devo também observar que, na janela de sugestão de feitiço, você pode usar o mouse para selecionar o que deseja, desde que tenha ativado o mouse para o modo NORMAL. Eu set mouse=aconfigurei no meu .vimrc, por exemplo, que habilita o mouse em todos os modos, esteja eu no Vim ou no gVim.

Eu não acho que as outras coisas que você deseja possam ser realizadas sem um plug-in ou alterando o próprio Vim.

Quincy Bowers
fonte
1
Essas são dicas úteis, mas não vejo como elas respondem à pergunta?
Martin Tournoij 16/02/2015
@Carpetsmoker Eu poderia dizer o mesmo sobre sua própria resposta. Eu disse a ele que não era possível e ofereci uma mudança no fluxo de trabalho como uma possível solução. Assim como você fez.
Quincy Bowers
1
@MartinTournoij Esta resposta realmente fornece uma solução para o problema: Precisa incluir nova palavra > zg executa essa inclusão .
Nilon 8/08