7.10. 技巧 24——使用视觉块模式来编辑表格数据
任何编辑器都可以处理文本行,但要操作文本列,需要更特别的工具,Vim 用它的视觉块模式提供了这种能力,我们将用这个能力来转换一个纯文本的表格。
假设有如下的纯文本表格:
想画一条由管道符组成的竖线来分割文本的两列,使得它看起来更像一个表格。但首先需要减少两列之间的空格,这两列之间的距离比需要的要多得多。使用视觉块模式可以进行这两个改变。见 第 48 页 表格 5 在列之间添加垂直的管道。
一开始使用 <C-v> 来激活视觉块模式;然后通过将光标往下移动几行来定义列的选择。按 x 键删除那一列,然后点命令重复同样区域文本的删除。重复删除直到这两列之间的位置恰到好处,这两列之间的距离恰到好处。
除了使用点命令,还可以将列通过把光标往右移动两到三步,把列选择区域扩展为一个盒子,然后只进行一次删除。但我倾向于删除一列然后重复这样带来的及时视觉反馈。
既然已经将这两列文本排列在想要的位置,就准备在它们之间画一条线。使用 gv 命令可以重新选择最后一次的视觉选区,然后按 r| 使用管道符替换掉选区中的每一个字符。
在做这样做的时候,还可以画一条水平线,将表格的头部和下面的行分开,快速地复制表头,粘贴(yyp),然后使用一个破折号字符替换掉那一行中的每一个字符(Vr-)。