Isso não acontece com a frequência que você imagina, mas acontece ocasionalmente, e eu nem tenho um gato.
Basicamente, se você misturar a linha numérica ou o teclado numérico e, em seguida, pressionar um teclado que aciona um comando repetível, é possível comandar inadvertidamente o Vim para executar uma tarefa milhares, milhões ou até bilhões de vezes. Isso fica fora de controle facilmente e pode resultar em perda de dados.
Então, eu me pergunto se existe uma configuração ou algo no código-fonte que podemos mudar para servir como uma verificação de integridade para impedir esse tipo de DoS.
normal-mode
repeated-commands
Steven Lu
fonte
fonte
144477@@
ou99999.
e deseja interromper essas execuções quando o número é muito grande? Estou certo? (Eu tenho que perguntar porque isso parece um pouco estranho para mim, eu nunca tive esse problema)set showcmd
para mostrar as teclas digitadas no canto inferior direito..vimrc
, então a resposta é totalmente auto-suficiente.)Respostas:
Acho que você geralmente é capaz de interromper o processo de repetição enviando um SIGINT ( Ctrl+C). Enquanto algum vimscript não estiver executando um loop interno muito longo, não haverá preocupação com o DoS.
Veja aqui um exemplo de plug-in que pode conter uma função em loop dependendo do número digitado.
Para quase todas as intenções e propósitos, esta questão aqui é hipotética.
fonte
<Esc>
, você não precisa usar<C-c>
. A diferença é que<C-c>
anula o que o Vim está fazendo (como executar uma função) e<Esc>
não. Você quase nunca deseja usar, a<C-c>
menos que queira "matar" alguma coisa.