一千萬個為什麽

搜索

如何在不必按<esc>的情況下替換N個字符,是否可能?

在命令模式下, r 將光標下的字符替換為在輸入 r 之後按下的字符而不進入插入模式,因此沒有 esc 去按。

5r replaces the 5 characters starting from the one under the cursor by the same single character typed after 5r (the new character is repeated 5 times).

我想用N個其他字符替換N個字符(其中一些或全部不同),而不必在輸入後按 Esc (或任何其他鍵) N個字符,也就是說,我想避免使用例如<�代碼> 5S </代碼>。

我找不到任何辦法這樣做。可能嗎?如果沒有現有的預定義命令,那麽哪個鍵綁定可以提供此功能?

最佳答案

這顯然是硬編碼為5.但如果需要,應該可以將其概括為 n 。它演示了這個技巧。

nmap  :execute "normal c5l".nr2char(getchar()).nr2char(getchar()).nr2char(getchar()).nr2char(getchar()).nr2char(getchar())

轉載註明原文: 如何在不必按<esc>的情況下替換N個字符,是否可能?