在VimI
中,可以使用命令一次在多行中插入文本,例如在回答 Stack Overflow 问题How do I insert text at a beginning of a multi-line selection in vi/Vim? . 但是,这只适用于真正的插入。如果我想同时删除一些字符,这是行不通的。
例如,我想改变
000 one
000 two
000 three
000 four
至
111 one
111 two
111 three
000 four
我会通过调用^V3ggllx
从前三行中删除 000 然后^V3ggI111^[
在相同位置插入 111 来做到这一点,这对我来说似乎很尴尬。(上面的意思是,进入视觉块模式,标记前三行中的所有零并将它们删除。然后再次进入视觉块模式,标记前三行的开始,进入多行插入模式,插入111 并退出Esc。)
必须有更好的方法来做到这一点。最烦人的是,我必须在删除零后再次选择区域。如果删除后仍选择该区域,那将很好。此外,如果可以在多个插入模式下删除字符,那也很好。但是如果我尝试这个,只有第一行被改变。