Imagina que tienes un archivo de texto arbitrario (que puedes elegir).
Proporcione la secuencia de pulsaciones de teclas que es más destructiva (*) si se pretendía insertar en el texto, pero en su lugar se ingresó en modo normal (es decir, i/ ano se presionó). No puede ingresar al modo visual y no salir de Vim.
Destructivo se define de la siguiente manera: la relación de caracteres modificados / eliminados por la cantidad de pulsaciones de teclas necesarias.
Obtiene puntos de bonificación si sus cambios no se pueden deshacer con un número fijo de undos.
Ejemplo: archivo de entrada sin saltos de línea. Secuencia de entrada: dfs.
code-challenge
vim
máscara de bits
fuente
fuente

Respuestas:
arruina todo sin deshacer
fuente
:0,0 wdebe escribir líneas 0 hasta 0 y:rentonces leerlo (ahora vacío) de nuevo, realmente no tengo una vim para probarlo aunque: 0,0 wescribe un búfer parcial, por lo que (mi) Vim se niega a guardarlo, debo decir que enw!lugar dew. Hasta ahora todo bien, ahora:rno vuelve a abrir el archivo. En cambio, tiene que decir:ecuál leerá en el archivo del sistema de archivos. Sin embargo, aunque con estas modificaciones cambia el búfer, el búfer está lejos de estar vacío. Contiene la primera línea (porque guardó "0,0"). Al menos hacerundo no funciona.Esto borra el contenido del archivo y lo guarda. No es posible deshacer porque
undolevelestá configurado en un número negativo, lo que desactiva la operación de deshacer.Editar: es mejor escribir en
:g/^/dlugar de hacerloggdG, porque en este último caso puede usarp(poner) para revertir los cambios.fuente
ggdGpodría sustituirse por:%dggdGque se puede invertir poniendo (p), por lo que:g/^/dparece una mejor opción :):%d_es más corto que:g/^/dy también resuelve elputproblema.Doblar las reglas, porque estoy agregando caracteres (un carácter que no está allí y ahora lo está, significa que se cambió un personaje). Puedo agregar tantos caracteres como quiera para que esta puntuación sea teóricamente infinita.
fuente
5 bytes:
seguido de una pulsación de enter.
Desecha el estado actual del archivo que está editando de la memoria, por lo que se pierden todos los cambios no guardados en ese archivo. Si tiene otros archivos abiertos, no se verán afectados. Esto no cierra vim incluso si solo tiene un archivo abierto.
fuente