【问题标题】:Make vimdiff ignore unicode equivalence classes使 vimdiff 忽略 unicode 等价类
【发布时间】:2020-03-09 14:51:39
【问题描述】:

我尝试比较通过同步同步的两个目录。我使用以下方法来做到这一点:

vimdiff <(cd "~/Pictures/shared" && find . | sort) <(ssh argon "cd ~/pictures/shared && find . " | sort) 

一台机器是最近的 archlinux 机器,本地机器是 MacBook Pro。浏览差异时,我很难找到真正的差异,因为大多数差异都是变音符号,在某种程度上被错误地解释为:

Hexdump 显示字符不同。这里是德语 ö (U+00F6),而那里是 o 结合分音符号 ◌̈ (U+0308)。 vimdiff 是否能够将这些等价识别为相同的?

【问题讨论】:

    标签: unicode equivalent vimdiff


    【解决方案1】:

    您可以编辑每个缓冲区以将有问题的字符替换为两者中的相同字符(例如,这里我将它们替换为 o)。 Vimdiff 应该在修改其中一个缓冲区后自动更新。

    对于替换,您可以使用:%s/&lt;ctrl+v&gt;u00f6/o/g(和另一个等效)输入后,u00f6 应在命令行中自动替换为 unicode 符号。

    【讨论】:

      【解决方案2】:

      我找到了一种在通过iconv -f utf-8 -t utf-8-mac 管道输出进行比较之前翻译编码的方法:

      vimdiff <(cd ~/Pictures/shared && find . | sort) <(ssh argon "cd ~/pictures/shared && find . " | iconv -f utf-8 -t utf-8-mac | sort)
      

      另见this question on iconv

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-13
        • 2012-02-10
        • 2021-08-01
        • 1970-01-01
        • 2011-02-05
        • 1970-01-01
        相关资源
        最近更新 更多