Aborta uma pasta vim

5

Às vezes, colo muitos dados no vim (> 5000 linhas) e esqueço de ativar o modo de colar. Nesse caso, o vim está ocupado por vários minutos, tentando recuar corretamente todo o texto (que fica REALMENTE ruim para o desempenho com algum tipo de dado, recuando-o por uns 10.000 caracteres).

Existe uma maneira de abortar o processo de colagem? ESC, CTRL-C e CTRL-D não funcionam.

    
por Danilo Bargen 10.08.2012 / 14:25

1 resposta

3

Se você estiver usando a versão da GUI, você deve realmente colar o registrador da área de transferência ( "* ) ou a seleção X11 ( "+ ), como já sugerido por echristopherson. Então, ao invés de clicar com o botão do meio ou qualquer coisa, você navega onde quer colar e então digita " * P , incluindo p ou P , o vim sabe que você está colando, portanto a opção 'paste é desnecessária - não importa de qual registrador você está colando.

Se você está colando no terminal, o vim não tem nada a dizer sobre o assunto. O emulador de terminal despejará tudo o que você instruiu e, na maioria dos casos, o vim não pode diferenciar se os caracteres que continuam aparecendo estão sendo digitados ou colados. Portanto, você precisa definir 'paste para informar ao vim que ele não deve fazer recuos e outras coisas.

Como conseqüência, se você estiver colando do terminal, todos os caracteres a serem colados serão enfileirados de uma só vez e, essencialmente, já foram enviados para o vim, portanto, não há realmente nada que você possa fazer para interrompê-lo. Do ponto de vista do emulador de terminal, CTRL + c é apenas um caractere comum, portanto ele fica na fila atrás de todas as outras coisas que estão esperando para serem coladas. Quando o vim finalmente consegue ver a CTRL + c , é tarde demais, já que não há mais nada a ser abortado.

(Atualização: Dependendo do emulador de terminal, CTRL + c e sinais similares podem ser enviados de forma prioritária. Especificamente, eu Notei isso em Putty, que entrega o sinal de quebra instantaneamente e, na verdade, permite que eu aborte as operações de colar longas e extraviadas. Eu não sei como isso funciona, no entanto.)

Longa história curta: Se for possível, use " * P ou " + P para colar (o que funciona em alguns emuladores de terminal se bem me lembro). Essa é a maneira "correta" de colar; tudo o mais é basicamente uma solução alternativa que lhe dá esse tipo de dor de cabeça.

    
por 17.10.2013 / 22:12