Imaginez que vous avez un fichier texte arbitraire (que vous pouvez choisir).
Donnez la séquence de touches la plus destructrice (*) si elle était destinée à être insérée dans le texte, mais a été saisie à la place en mode normal (c'est i-à- dire / an'a pas été enfoncée). Vous ne pouvez pas entrer en mode visuel et ne pas quitter Vim.
Destructif est défini comme suit: Le ratio de caractères modifiés / supprimés par le nombre de frappes nécessaires.
Vous obtenez des points bonus si vos modifications ne peuvent pas être annulées par un nombre fixe d' uondes.
Exemple: fichier d'entrée sans saut de ligne. Séquence d' entrée: dfs.
code-challenge
vim
bitmask
la source
la source
Réponses:
ruine tout ne pas défaire
la source
:0,0 w
devrait écrire les lignes 0 à 0 et les relirait:r
(maintenant vides), je n'ai pas vraiment de Vim pour le tester: 0,0 w
écrit un tampon partiel, donc (mon) Vim refuse de le sauvegarder, je dois dire à law!
place dew
. Jusqu'ici tout va bien, maintenant:r
ne rouvre pas le fichier. Au lieu de cela, vous devez dire:e
qui lira le fichier du système de fichiers. Cependant, bien qu'avec ces modifications cela change le tampon, le tampon est loin d'être vide. Il contient la première ligne (car vous avez enregistré "0,0"). Au moinsu
ndoing ne fonctionne pas.Cela efface le contenu du fichier et l'enregistre. Aucune annulation n'est possible car elle
undolevel
est définie sur un nombre négatif, ce qui désactive l'opération d'annulation.Edit: il vaut mieux écrire
:g/^/d
au lieu deggdG
, car dans ce dernier cas, vous pouvez utiliserp
(put) pour annuler les modifications.la source
ggdG
pourrait être remplacé par:%d
ggdG
, qui peut être inversé en mettant (p
), donc cela:g/^/d
semble toujours une meilleure option :):%d_
est plus court que:g/^/d
et résout également leput
problème.Contourner les règles, car j'ajoute des personnages (un personnage qui n'est pas là et qui est maintenant, signifie qu'un personnage a été changé). Je peux ajouter autant de caractères que je veux donc ce score est théoriquement infini.
la source
5 octets:
suivi d'une pression sur enter.
Supprime l'état actuel du fichier que vous modifiez de la mémoire, de sorte que toutes les modifications non enregistrées dans ce fichier sont perdues. Si vous avez d'autres fichiers ouverts, ils ne sont pas affectés. Cela ne quitte pas vim même si vous n'avez qu'un seul fichier ouvert.
la source