Emacs 预览删除重复行前的重复行

5

背景:我正在处理一个类似于Excel的大型文本文件,并添加/编辑条目。这是一个共享文件,所以其他人可能已经编辑了该文件。

我正在使用emacs工作,发现他们添加了delete-duplicate-lines命令。这个命令可以很好地修剪额外的条目,但是如果能知道哪些行是重复的(即已经存在于文件中),那么就可以知道哪些条目已经被添加了。是否有一个类似于delete-duplicate-lines的命令,但只指出哪些行是重复的而不将它们删除?

1个回答

4
您可以使用 Highlight 库中的命令 hlt-highlight-line-dups-region,以突出显示区域内或(如果没有活动区域)缓冲区中所有重复行集。
默认情况下,在检查重复时会忽略前导和尾随空格,但这由选项 hlt-line-dups-ignore-regexp 控制。并且通过使用前缀参数,行为实际上与该选项的值相反。因此,如果该选项不忽略空格并且您使用前缀参数,则会忽略空格,反之亦然。
您还可以控制用于突出显示每个重复集的颜色/外观。

哦,哇,这个工作得非常好,谢谢!顺便说一下;现在,我将highlight.el文件放在emacs/share/emacs/24.5/site-lisp文件夹中,为了使用highlight库,我必须使用M-x load-library加载它,输入“highlight”作为要加载的库,然后调用hlt-highlight-line-dups-region。有更简单的方法吗?我正在使用Windows,我的emacs副本似乎没有.emacs文件(我已经打开了隐藏文件,但是没有找到)。 - Glamdring
C-x C-f ~/.emacs,然后添加您想要的内容,并保存文件。将 highlight.el(如果您对 .el 进行了字节编译,则还可以包括 highlight.elc,我建议这样做)放在一个目录中,该目录已添加到您的 load-path 中((add-to-list 'load-path THAT-DIRECTORY))。然后在您的初始化文件(~/.emacs)中添加 (require 'highlight)。请参阅 Emacs 手册,节点 Init File不要操纵 site-lisp 文件夹。 - Drew

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接