vim 替换_VIM学习笔记 替换模式(Replace Mode)

进入替换模式

使用大写R命令,将进入替换模式(屏幕底部显示“--REPLACE--”)。此时新输入的文本将直接替代/覆盖已经存在的内容,直至点击ESC键返回常规模式。

91389e966a635aada807411e9dc76921.gif
Source: medium.com/vim-drops

使用小写r命令,将进入单字符替换模式,此时新输入的字符将替代光标之下的当前字符,然后自动返回到常规模式。

通过在r命令中增加数字前缀,可以一次性替换多个字符。例如,将光标定位到“||”字符处,然后执行2r&命令,可以将其替换为“&&”。

使用gR命令,将进入虚拟替换模式(virtual replace mode)(屏幕底部显示“--VREPLACE--”),其与替换模式最主要的区别在于,对<Tab>键和换行符的不同处理方式。

区别1:对于<Tab>键的处理方式

在替换模式(REPLACE)下,在原有<Tab>键处输入字母'a',将直接替代<Tab>键所占用的所有空格的位置,文本格式遭到破坏:

a32d23d71093dcdf305aa6753b98eb23.gif
Source: medium.com/vim-drops

在虚拟替换模式(VREPLACE)下,在原有<Tab>键处输入字母'a',将仅仅替代单个空格,文本格式保持不变:

cbc44d2050a3c3c8c3f9ec65b2a71c87.gif
Source: medium.com/vim-drops

从以上实例可以发现:替换模式(REPLACE)将<Tab>键作为一个整体来处理(不管其真实占用多少个空格位置);而虚拟替换模式(VREPLACE)则将<Tab>键拆分为多个独立的空格来分别处理。如果文本以<Tab>分隔排布,在编辑过程中希望保持原有的文本缩进和排版格式,那么建议使用虚拟替换模式。

区别2:对于<NL>换行的处理方式

在替换模式(REPLACE)下,输入<Enter>回车键将增加新行:

54f15b989ec20b2521357792bd44577c.gif

在虚拟替换模式(VREPLACE)下,输入<Enter>回车键将用新行替代当前行内容(即清空当前行):

1e2fcb367fd5f206dbb80923279c1d80.gif

使用gr命令,可以进入单字符虚拟替换模式。在替换光标下的当前字符之后,将自动返回到常规模式。

请注意,只有包含+vreplace特性的Vim版本才支持虚拟替换模式。请使用:version命令,查看特性列表中是否已包括此项。

请使用以下命令,查看关于虚拟替换模式的更多帮助信息:

:help vreplace-mode

退出替换模式

按下ESC键即可离开替换模式,返回到常规模式。

0c07e491a2e035864e0998db76c985b8.png
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值