6.12. 技巧 19——用替换模式覆盖现存文本——用虚拟替换模式覆盖 Tab 字符

未匹配的标注

6.12 技巧 19——用替换模式覆盖现存文本——用虚拟替换模式覆盖 Tab 字符

有些字符能让替换模式变得更复杂。比如 tab 字符,在文件中,它是用一个单独的字符来表示的。但是在屏幕上它扩展填充了几行,具体有多少行是由 'tabstop' 设置选项来决定(见 :h 'tabstop' )。如果将光标放在一个制表位上,然后激活替换模式,那么键入的下一个字符就将覆盖掉这个 tab 字符。假设 'tabstop' 选项设置为 8(这是默认值),那么看起来就会好像一下子替换了 8 个字符,使得当前行的长度大大的缩短。

Vim 还有替换模式的第二个变体。虚拟替换模式通过 gR 来触发,它将 tab 字符视作包含有空格。假如我们将光标放在一个制表位上,它跨越了屏幕的 8 列。如果切换到虚拟替换模式,就可以输入最多 7 个字符,它们的每一个都会插入到 tab 字符的前面。最终,如果键入了第八个字符,它就会替换掉制表位。在虚拟替换模式中,覆盖的是屏幕上的显示的字符,而不是去处理最终保存在文件中的真实字符。这样意外会更少,所以只要可能,就推荐使用虚拟替换模式。

Vim 还提供了替换模式和虚拟替换模式的单发版本。r{char}gr{char} 命令允许在返回正常模式之前覆盖掉单个字符(:h r )。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 查看所有版本


暂无话题~