Le livre Green Eggs and Ham du Dr Seuss est célèbre pour n'avoir que 50 mots différents dans toute l'histoire du livre.
Votre tâche consiste à créer une séquence de touches qui se traduira par le texte entier de Green Eggs and Ham lorsqu'il est appliqué à un fichier vide dans l' éditeur de texte vim , en commençant en mode normal avec tous les paramètres par défaut. Vos frappes ne doivent pas charger d'autres fichiers dans le cadre de leur fonctionnement - tout le texte doit être généré dans l'éditeur lui-même.
Votre tampon final doit ressembler exactement à ce fichier , bien qu'il puisse rester dans le mode dans lequel il finit par être (vous n'avez pas besoin d'avoir un final <Esc>
pour le remettre en mode normal).
Les séquences de touches comme <C-o>
ou en utilisant Maj pour taper une majuscule comptent comme une seule touche.
La séquence du moins de touches pour atteindre cet objectif gagne.
.vimrc
fichier.<Esc>
quitter le mode d'insertion, mais vous devez commencer en mode normal.Réponses:
1864 frappes
Quelqu'un pourrait probablement écrire du code qui produit une solution plus optimale, mais cela bat le cas de référence pour l'instant. C'est un sacré bordel, et j'ai honte de l'avoir fait à la main.
Tout d'abord, nous entrons en mode insertion.
Alors tout ça
Appuyez sur Échap pour entrer en mode commande. Et démêlez les trucs compressés. L'ordre est important, car j'ai compressé du texte compressé.
la source
so good;so good;
par<Esc>2aso good;<Esc>a
, vous pouvez enregistrer trois frappes. Remplacez égalementiThat ]! That]!<Enter>
au début par2iThat ]! <Esc>xo
trois autres.DN
n'apparaît pas ailleurs, vous pouvez supprimer les instructionsI
fromIDN
etI do not
in de l'instruction replace avec ces deux expressions.IDNlike$!<Enter>|;].
with1
et input%s/1/IDNlike$!\n|;]./g
pour enregistrer environ 20 frappes.3470 frappes
Le fichier texte contient 3 469 caractères, donc taper "i" pour le mettre en mode insertion et taper chaque caractère individuellement nécessitera 3 470 frappes.
la source