任何编辑器都可以操作以行为单位的文本,但可以以列为单位进行文本操作的编辑器并不多。

Vim面向列块的可视模式模式允许直接对文件中的列块进行操作,可以在Vim可视化模式下选中的区域执行相同的操作,从而达到同时往任意行或任意列插入或修改文本的目的。

1. Vim可视化模式简介

Vim可视化模式-Vim入门教程所介绍,Vi/Vim可视化模式(Visual Mode)下可以选择一块编辑区域,然后对选中的文件内容执行插入、删除、替换、改变大小写等操作。

具体来说,在Vim普通模式下按 v 进入字符选择模式,按 V 进入行选择模式,按 <Ctrl> + v 块选择模式。

2. 使用Vim生成markdown表格

例如,Vim教程网在写博客内容时,需要把下面的纯文本表格修改为markdown语法格式。

1
2
3
4
Chapter Page
Normal mode 15
Insert mode 31
Visual mode 44

为了实现上述目的:

(1) 首先, 需要新增一行 “-“ 用于分割表头和表内容

  • 将光标移动到表的第一行执行 yyp 快速复制顶行并粘贴一份副本,使用按 V 进入行选择可视模式后执行 r- 将整行内容替换为 -

(2) 其次,需要在每一行增加多列 “|“,用于分割表格各列内容

  • 先使用 normal 命令在目标行的行首新增 |:1,5 normal I| 命令可以实现这一目的,关于这条 normal 命令的具体介绍,可以参考Vim normal命令和重复操作
  • 再按 <Ctrl>-v 进入Vim列块可视模式,然后按 j 往下移动光标到最后一个目标行,最后使用Vim替换命令 r| 在选中的各列空格字符替换为 “|
  • gv 重选上一次由可视化模式 <Ctrl>-v 选择的文本范围,再按 $ 跳转到行尾后按 A 进入行尾插入模式,输出 | 后即可

完成上述两个步骤后,原始的纯文本表格已经被修改为以下内容。

如果不使用Vim而改用其他编辑器,不知道要花多少步骤才能完成上述操作?欢迎留言进行分享。

嗯,扫一扫就可以找到小女子我啦~