19

Vim命令详解之替换命令r、R及删除并进入插入模式命令s、S

 4 years ago
source link: https://vimjc.com/vim-command-r-s.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Vim教程网 (https://vimjc.com)在《实用Vim命令整理》一文中介绍过 15 个实用却不为人所熟知的 Vim 命令,本文介绍另外 4 个 Vim 普通模式下功能强大且实用却被大多数人忽略的 Vim 命令。

1. r 命令:替换当前字符

Vim 普通模式下按下 r 键会用接下来键入的一个字符替换当前光标下的字符 (但仍然处在普通模式下)。

按下 r 键后可以按 Esc 取消本次替换操作,使得接下来键入的字符不会替换当前光标所在字符。

2. R 命令:切换到替换模式

Vim 普通模式下输入 R 命令将切换到Vim 的替换模式。

在替换模式下,当前光标下的单个字符会逐渐被新输入的字符所替换。如果没有字符可以替换了(到了行尾),新输入的字符会插入到行尾 (和插入模式一样)。

如果在 Vim 替换模式 下删除字符 (用退格键 BackSpace 或 Vim组合命令 <ctrl-w><ctrl-u> ),实际发生的事是删除了新输入的字符,而被替换的字符又被复原了。当然,超过已有字符长度的新输入部分,执行删除操作时新增的字符直接被删除了。

iUzUVj2.gif

注:如果所用的键盘上有 Insert 键,那么也可以用该键在插入模式和替换模式间切换。这点与在word、notepad++等编辑器中按 Insert 键进入替换模式是完全一致的。

3. s 命令:删除光标所在字符并进入插入模式

在 Vim 普通模式下,按 s 键将会删除光标当前所在的字符并自动进入到 Vim 的插入模式。这是个非常实用却被大多数人所忽略的 Vim 命令。

s 命令的格式是: ["x]s ,表示可指定某个Vim 寄存器来保存通过该命令删除的字符。

4. S 命令:删除光标所在行并进入插入模式

在 Vim 普通模式下,按 S 键将会删除光标当前所在行并自动进入到 Vim 的插入模式。

S 命令的格式是: ["x]S ,表示同样可通过指定某个 Vim 寄存器来保存通过该命令删除的整行内容。

注:上述介绍的 s 命令 和 S 命令均可通过在其前面指定 操作次数 n 来重复执行对应命令。例如, 3s 命令将删除当前光标所在字符处连续 3 个字符并进入插入模式,而 5S 命令会删除当前光标所在行开始的连续 5 行并进入 Vim 插入模式。

aUruymY.gif

想获取更多 Vim 命令的用法和功能,推荐阅读《 Vim中文键盘速查表详细介绍 》。

636F3qn.jpg!web

《女程序员说》

原创不易,希望能给小女子的公众号加个关注~


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK