Normalmente, um substituto com a c
opção me dá duas opções: (y) es ou (n) o. É possível ter várias opções sim numeradas para escolher?
Exemplo
Arquivo
person: Alice
dog: Tobby
person: Bob
Padrão 1 :%s/person:/woman:/c
Padrão 2 :%s/person:/man:/c
Os padrões 1 e 2 têm o mesmo padrão de pesquisa, mas diferentes padrões de substituição. Quero unificá-los em um padrão com a opção de pressionar (1) para a substituição 1, (2) para a substituição 2 ou (n) para nenhuma substituição.
fonte
:%s/person:/\=get(['woman', 'man'], input('Your choice: ') - 1, submatch(0)) . ':'/c
c
comando resultará em que preciso de duas etapas para substituir uma string, o que acho desnecessário.Obrigado por todos os votos positivos à minha pergunta original! Agora incorporei um
:SubstituteChoices
comando no meu plugin PatternsOnText , que fornece uma implementação robusta. O exemplo na pergunta seria resolvido via:fonte