我很难理解这个问题的解决方案维姆高尔夫挑战赛 http://vimgolf.com/challenges/5192f96ad8df110002000002.
最好的建议解决方案是
cw(<C-R><C-P>")<Esc>w.w.ZZ
然后我尝试做
cw(<C-R>")<Esc>w.w.ZZ
但随后文字就变成了
(one) (one)
(one)
代替
(one) (two)
(three)
有人可以帮助我理解为什么吗?这两个命令的行为不同吗?
这很有趣。未使用 CTRL-R CTRL-P(按字面插入并修复缩进)的显着特征;不涉及缩进,文字插入也可以通过 CTRL-R CTRL-R 进行(但这不起作用,也没有任何特殊字符,例如<BS>
涉及到这里)。
除了 CTRL-R CTRL-P 之外,这也适用于 CTRL-R CTRL-O;唯一的共同点(在帮助中)是两者都有:
不替换字符!
这与重复通过有何关系.
,我不知道(你必须深入研究源代码或询问vim_dev 邮件列表 http://www.vim.org/community.php)。基本上,它会导致<C-R><C-O>
命令自己进入.
寄存器,而不是您发出命令时寄存器中的文字文本。这意味着当您重复该操作时.
,您将在重复时获得指定寄存器中的所有内容,而不仅仅是再次插入相同的文字文本。
这将使 Vim 不再重复该命令:
将当前单词替换为(
, 其次是one
, 其次是)
to
将当前单词替换为(
,插入默认寄存器的寄存器内容,插入)
.
IE。第一个重复存储result寄存器插入,而第二个实际上记住了action寄存器插入。
列出后你就会看到效果".
通过注册内容:reg .
, too.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)