Vim块选择模式能否实现非连续行/跳行的高级块操作?
Vim中实现跳过行的块操作(场景B需求)
当然可以!Vim的块可视化模式(Block Visual Mode)完全支持跳过指定行的操作,刚好能解决你场景B里给ONE和THREE前批量加空格的需求,操作步骤非常直观:
具体操作步骤
- 定位光标并进入块可视化模式:把光标移到场景B中
This is line ONE的第一个字符位置(也就是你想要插入空格的起始点),按下<Ctrl-V>(Windows/Linux)或<Cmd-V>(Mac)进入块可视化模式。 - 调整块选中范围,跳过中间行:
- 先按
j一次,光标会跳到第二行(TWO那行)的对应位置; - 按下
o键切换块的选中端点(此时光标会从块的上端点切换到下端点); - 再按
j一次,光标跳到第三行(THREE那行)的对应位置——这时候你会发现,第一行和第三行的对应列已经被选中,中间的第二行被跳过了!
- 先按
- 插入空格并应用到所有选中行:
- 按下大写的
I进入块插入模式,输入你需要的空格数量(比如4个空格); - 按下
<Esc>键确认,Vim会自动在所有选中行的对应位置插入空格,完成对齐。
- 按下大写的
效果示例
原始内容:
SCENARIO "B"This is line ONE
This is line TWO
This is line THREE
操作后效果:
SCENARIO "B"This is line ONEThis is line TWO
This is line THREE
额外小技巧
如果需要选中更多不连续的行,还可以结合搜索命令快速定位:比如先输入/ONE跳转到目标行,进入块模式后,再输入/THREE直接跳到第三行,再用o调整端点,效率会更高~
内容的提问来源于stack exchange,提问作者nivek
相关产品推荐
相关产品推荐

