Как начинающий программист, я недавно практиковал vim на vimgolf и увидел, что команда "g?" был эффективно использован для переключения многих линий "Ivm", чтобы стать "Vim". Я понимаю, что это сдвигает каждую буквенную букву 13 раз вправо, но не понимает, как это окажется полезным, кроме как в таких уникальных обстоятельствах.
Какая функциональность "g?" команда обеспечивает в vim
Ответ 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?
в реальном "программировании"! Праздник!!!