使用Vim编辑器识别/突出显示两列中排列的数据中最重要的数字/字符

时间:2014-06-05 12:25:01

标签: vim diff

Vim编辑器是否可以从两列中排列的数据中识别或突出显示常见的字符/数字序列?

例如,

0.0470013487688 40989223   0.0470013487688 002292
0.0421698758 73493412044   0.0421698758 476354659
0.0417166986 15951258722   0.0417166986 257990344
0.04167166 8474116192737   0.04167166 69861257942
0.041667 018771432653979   0.041667 1666698611258
0.0416 78177953892309171   0.0416 667166666986111
0.04 4004728342134522001   0.04 16666716666669861
0.04 0846598100993794511   0.04 16666671666666699

两列中数字不同的第一个位置用空格显示。

目标是使用相应的精确值(右列)高亮显示计算中获得的最高有效数字(左列)。

1 个答案:

答案 0 :(得分:0)

基于这样的源数据:

0.047001348768840989223  0.0470013487688002292
0.042169875873493412044  0.0421698758476354659
0.041716698615951258722  0.0417166986257990344
0.041671668474116192737  0.0416716669861257942
0.041667018771432653979  0.0416671666698611258
0.041678177953892309171  0.0416667166666986111
0.044004728342134522001  0.0416666716666669861
0.040846598100993794511  0.0416666671666666699

以下模式将匹配第一列中与第二列中的数字相同的数字:

/^\(\S\+\)\ze\S*\s\+\1

这会捕获非空白(\S;您可以优化该部分)字符,停止匹配(\ze),但断言必须有更多字符,然后是相同的字符。下一栏。

我希望这就是你的意思;它对我来说并不完全清楚。