Какая функциональность "g?" команда обеспечивает в vim

Как начинающий программист, я недавно практиковал vim на vimgolf и увидел, что команда "g?" был эффективно использован для переключения многих линий "Ivm", чтобы стать "Vim". Я понимаю, что это сдвигает каждую буквенную букву 13 раз вправо, но не понимает, как это окажется полезным, кроме как в таких уникальных обстоятельствах.

Ответ 1

Команда g? (тип :help g? для краткой документации) реализует алгоритм rot13, который вращает каждую букву на 13 мест вперед или назад в алфавите.

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

Например:

Притворись, что это спойлер. Фильтр с rot13, чтобы прочитать его.

станет

Cergraq guvf vf n fcbvyre. Svygre jvgu ebg13 gb ernq vg.

Если я не хочу читать спойлер, я могу игнорировать его. Если я действительно хочу его прочитать, я могу легко его расшифровать.

Ответ 2

Я использую Vim с 4 лет и очень рано узнал об этой команде, но даже если бы я прекрасно знал, что такое ROT13, я никогда не нашел использования для g?.

До двух недель назад, когда мне нужно было добавить пучок <li> с уникальными идентификаторами в <ul> в прототипе HTML...

Начальная точка:

<ul>
    <li id="lorem">foo</li>
    <li id="ipsum">foo</li>
</ul>

После дублирования двух <li>:

<ul>
    <li id="lorem">foo</li>
    <li id="ipsum">foo</li>
    <li id="lorem">foo</li>
    <li id="ipsum">foo</li>
</ul>

После g?i" на двух новых <li> id s:

<ul>
    <li id="lorem">foo</li>
    <li id="ipsum">foo</li>
    <li id="yberz">foo</li>
    <li id="vcfhz">foo</li>
</ul>

Там! Я нашел практическое применение для g? в реальном "программировании"! Праздник!!!