如何从 LibreOffice Writer 的 10 个“最近的文档”列表中删除一项?

Alu*_*zio 5 libreoffice

如何从 LibreOffice Writer 的 10 个“最近的文档”列表中删除一项?

小智 2

似乎应该有一种简单的内置方法来做到这一点,但还没有(还没有?)。LibreOffice 现在将用户设置和最近文档历史记录存储在一个文件中。在我的系统上是:

$HOME/.libreoffice/3/user/registrymodifications.xcu
Run Code Online (Sandbox Code Playgroud)

它是一个 XML 文档,仅提取一个文档的历史记录并不简单。

有一个历史记录插件(忘记名字了)曾经有用,但它不再对我有用。我创建了一个脚本/一行来删除整个最近的文档历史记录。它搜索并删除以下形式的标签:<item ...HistoryInfo> ... </item>

perl -i -pe 's#<item[^>]+?HistoryInfo.+?</item>##g' $HOME/.libreoffice/3/user/registrymodifications.xcu
Run Code Online (Sandbox Code Playgroud)

通常的免责声明适用:

  • 始终先备份文件
  • 在执行脚本之前先了解它
  • 使用风险自负


小智 1

这是 Ubuntu 12.04 LTS 中 LibreOffice 4.0x 的版本:

perl -i -pe 's#<item[^>]+?HistoryInfo.+?</item>##g' $HOME/.config/libreoffice/4/user/registrymodifications.xcu  
Run Code Online (Sandbox Code Playgroud)

它对我有用,但如前所述:使用风险自负。