1

Я использовал Vimgolf как немного профессионального развития.

В этой конкретной задаче одним из лучших решений является следующая команда.

<C-V>Gg?ZZ

Я понимаю, что ZZ - это сохранение и выход - и что control-v входит в визуальный режим, но Gg? выглядит как колдовство для меня.

Google немного подводит меня к поиску - не в последнюю очередь потому, что он появляется ? перегружен как в гугле так и в вим ... Кто-нибудь может выбрать это для меня? g? в любой строке vim выглядит так, как будто она вращает символы, хотя какая-то последовательность ...:s

2 ответа2

4

Задача состоит в том, чтобы сгнить 13 первый столбец букв, чтобы они соответствовали слову после for ; Отсюда довольно очевидно, что лучшие решения так или иначе выполняют эквивалент rot13. Если мы упустим все, что мы знаем, что не имеет отношения к rot13 или, по крайней мере, к изменению текста ... с чем мы останемся?

Давайте разбить команду на более мелкие куски:

(<C-V>)(G)(g?)(ZZ)
  • \1 - это режим визуального блока, не имеющий отношения к rot13 или изменению текста.

  • \2 расширяет выбор визуального блока до последней строки буфера, опять же, ничего общего с rot13 или изменением текста.

  • \3 это ... что?

  • \4 записывает и закрывает буфер, опять же, ничего общего с rot13 или изменением текста.

После всего этого, g? (оставшаяся часть) - единственная часть этой команды, которую мы не знаем и которая может иметь отношение к изменению текста или, возможно, rot13. Учитывая высокий ранг решения и невероятную краткость g? Вероятность того, что он делает именно то, что спрашивают, rot13, очень высока.

Либо это?

Чтобы убедиться, что мы на правильном пути, спросим Vim:

:h g?

на что Вим отвечает своим обычным голосом:

Rot13 кодирует текст.

Нет гугла, нет интернета. Только серое вещество и Vim; непобедимый дуэт!

1

G означает "перейти к последней строке". Так что если вы в начале файла и нажмите

<C-V>G

Вы заканчиваете тем, что отмечаете первый столбец каждой строки. Сейчас

g?

значит сделать шифрование rot13 . Это состоит из вращающихся букв 13 пунктов вниз по алфавиту. Это чрезвычайно слабое шифрование используется на онлайн-форумах, чтобы скрыть оскорбительные выражения, спойлеры и другие вещи, которые вы не хотите, чтобы люди читали, если они действительно этого не хотят.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .