假设我们在VIM中打开了以下文件内容:
function a1 {}
function a2 {}
function a3 {}
function a4 {}
function a5 {}
function a6 {}
function a7 {}
Run Code Online (Sandbox Code Playgroud)
我想以这种方式扩展所有功能:
function an {
}
Run Code Online (Sandbox Code Playgroud)
为此,我尝试使用垂直选择(使用Ctrl+ V):
function a1 {?
function a2 {?
function a3 {?
function a4 {?
function a5 {?
function a6 {?
function a7 {?
Run Code Online (Sandbox Code Playgroud)
然后我按下了I.然后Enter(在插入模式下):
function a1 {
}
function a2 {}
function a3 {}
function a4 {}
function a5 {}
function a6 {}
function a7 {}
Run Code Online (Sandbox Code Playgroud)
然后我按下了Esc.我希望扩展所有块.没啥事儿.为什么?
我知道一个简单的替换或宏可以拯救我.我知道有其他选择,但我想知道为什么在使用垂直选择时没有添加新行.
Ctrl+ V不是"垂直选择",它是"块状视觉".顾名思义,它用于选择文本的"块"(矩形).
如果在所选块中插入换行符,则会破坏其下方的所有内容.结果是,Vim不再有意义的方式将更改应用于块的其余部分,因为不清楚"其余部分"是什么.