"g?"具有什么功能?命令在vim中提供

Lee*_*ren 10 vim rot13

作为一名初学程序员,我最近在vimgolf上练习vim并看到命令"g?" 被有效地用于切换'Ivm'的许多行成为'Vim'.据我所知,这会将每个字母字母向右移动13次,但不理解这将如何证明有用,除非在这些特殊情况下.

Kei*_*son 17

g?命令(类型:help g?为简要文档)实现rot13算法,其使每个字母13米的地方向前或向后字母表.

我不确定它今天使用的频率如何,但在Usenet上它曾经是编码剧透的常用方法.例如,如果我正在撰写一篇文章,告诉我不是每个人都看过的内容的结尾,我可能会使用rot13弱文本加密部分文章.这足以让你不小心阅读(除非你有很多练习),但如果你使用的是具有内置rot13功能的新闻阅读器,则很容易阅读- 就像他们大多数人那样.

例如:

假装这是一个扰流板.用rot13过滤来读取它.

会成为

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

如果我不想阅读扰流板,我可以忽略它.如果我想阅读它,我可以很容易地解密它.


rom*_*inl 10

我4年来一直在使用Vim并且很早就学会了这个命令但是,即使我非常清楚ROT13是什么,我也从来没有找到过g?.

直到几周前我需要在HTML原型中添加一堆<li>带有唯一ID的<ul>...

出发点:

<ul>
    <li id="lorem">foo</li>
    <li id="ipsum">foo</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

复制后两者<li>:

<ul>
    <li id="lorem">foo</li>
    <li id="ipsum">foo</li>
    <li id="lorem">foo</li>
    <li id="ipsum">foo</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

之后g?i"的两个新<li>idS:

<ul>
    <li id="lorem">foo</li>
    <li id="ipsum">foo</li>
    <li id="yberz">foo</li>
    <li id="vcfhz">foo</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

那里!我g?在实际的"编程"中找到了实际用途!庆典!!!