A tarefa é rotar13 a primeira coluna de letras para que correspondam à palavra após for
; a partir daí, é óbvio que as principais soluções executam o equivalente a um rot13 de uma maneira ou de outra. Se deixarmos de fora tudo o que sabemos que não tem relação com a rot13 ou, pelo menos, a mudança de texto… o que nos resta?
Vamos dividir o comando em partes menores:
(<C-V>)(G)(g?)(ZZ)
-
é o modo de bloqueio visual, nada a ver com rot13 ou a alteração de texto.
-
estende a seleção de bloco visual até a última linha do buffer, mais uma vez, nada a ver com rot13 ou alteração de texto.
-
é ... o quê?
-
escreve e fecha o buffer, mais uma vez, nada a ver com rot13 ou alteração de texto.
Depois de tudo isso, g?
(o pedaço restante) é a única parte deste comando que não sabemos e que poderia ter algo a ver com a mudança de texto ou, talvez, rot13. Dado o alto grau da solução e a inacreditável terseness de g?
, as probabilidades de que ele faz exatamente o que é pedido, rot13, são muito altas.
Ou é?
Para garantir que estamos no caminho certo, vamos perguntar ao Vim:
:h g?
ao qual o Vim responde, na sua voz habitual:
Rot13 encode {motion} text.
Sem o Google, sem internet. Apenas matéria cinzenta e Vim; a dupla imbatível!