Logo

Zim Wiki 中文文档

ZimWiki中文使用和操作说明

版本控制

Zim的默认安装包含版本控制插件。要启用它,请转到编辑 -> 首选项 -> 插件并选中版本控制旁边的框。Zim支持BazaarGitMercurialFossil作为后端。

依赖项: 此插件需要安装所支持的版本控制系统之一。目前,支持Bazaar、Git、Mercurial和Fossil,因此需要其中一个应用程序。具体来说,"bzr"、"git"、"hg"或"fossil"命令应该在系统路径中可用。

选项

如果启用了关闭笔记本时自动保存版本选项,zim将在每次关闭zim时或在检测到新更改时打开zim时保存(或"提交")一个新版本。

当启用定期自动保存版本选项时,zim将在设定的时间间隔后保存(或"提交")一个新版本。自动保存间隔(分钟)给出了时间间隔。
定期保存也包括在应用程序退出和启动时。

使用方法

如果您想跟踪您的更改,或者如果您想作为团队在Zim笔记本上协作,版本控制是最好的方式。Zim与现有的版本控制软件很好地集成,因为所有相关数据都存储在纯文本文件中。

要保存笔记本的当前状态,从主菜单中选择文件 -> 保存版本...,并确认您要启用版本控制。在下一个窗口中添加描述更改的注释(此时可能类似于"是的,第一个版本"),并通过点击保存确认。

您可以通过从主菜单中选择文件 -> 版本...来浏览已保存版本的完整历史记录。您可以在打开的窗口中查看和恢复笔记本的先前版本,并查看两个版本之间的所有更改。

"版本"对话框

待办:记录所有按钮的详细信息

"恢复版本"按钮允许将单个页面恢复到选定的修订版本。自上次保存版本以来的所有更改都将丢失。

"并排比较"按钮用于使用外部程序(如meld)并排显示页面的两个版本。它仅在为单个页面选择修订版本时有效。如果按钮保持不敏感状态,可能没有找到合适的应用程序。

您可以通过在zim数据文件夹 #配置文件 下的helpers/compare_files/中安装.desktop文件来配置用于并排比较的应用程序。该应用程序应接受两个文件名作为参数。

共享

待办:这里应该记录如何与您的协作者共享新创建的存储库...(取决于所选的后端)

查看Bazaar用户手册,了解各种协作场景(在他们网站上点击"文档"链接)。

技术详情

从技术上讲,在启用版本控制时会创建一个本地存储库,根据您选择的后端,这个存储库由BazaarGitMercurialFossil管理。每次保存版本时,都会检入另一个修订版本。Zim只是使用标准版本控制系统作为后端,因此您始终可以使用标准工具查看和导出您的历史记录。

在启动时,zim尝试检测用于特定笔记本的版本控制系统,并在支持的情况下使用它。因此,您可以手动初始化存储库(例如通过分支),然后用zim打开它们。无需明确告诉Zim笔记本已被管理。

已知问题

全局用户设置可能在Windows上不被识别,可能是因为Zim在MSYS2环境中运行。实际上,这意味着对于需要初始设置的后端,您需要本地配置。对于Git,您可以通过在存储库文件夹中执行git config user.name "您的名字"git config user.email "your.email@example.com"来解决此问题,即通过省略通常命令中的--global标志来设置本地配置。

手动版本控制

这适用于必须使用另一个版本控制系统或有其他原因不使用包含的插件的高级用户。

要手动管理笔记本的修订版本,应将以下文件添加到您的存储库:

  • 笔记本文件夹中的"notebook.zim"文件
  • 您的所有页面(笔记本文件夹和子文件夹中的*.txt文件)
  • 从您的页面链接/嵌入到您的页面中的所有文件(附件 #附件,等)

Zim创建的所有文件都采用纯文本格式,只有在您明确更改它们时才会更改,因此在冲突的情况下,您应该获得可读、合理的差异和合并。

但是,您可以并且应该忽略以下项目:

  • 完整的".zim"文件夹 - 这是一个将被重新生成的本地缓存
  • 您手动放入根文件夹或其下方的任何内容,这些内容您不希望在您的存储库中

".zim"文件夹中的文件是索引和一些客户端配置(窗口大小、滚动位置等)的缓存,其中一些是二进制格式,因此您不需要或不希望它在您的存储库中。

如果您出于某种原因想停止使用版本控制并丢弃所有历史记录,您可以执行以下操作:

  • 禁用版本控制插件
  • 退出zim
  • 从您的笔记本文件夹中删除:

    • 对于Bazaar,删除.bzr文件夹和.bzrignore文件
    • 对于Mercurial,删除.hg文件夹和.hgignore文件
    • 对于Git,删除.git文件夹和.gitignore文件
    • 对于Fossil,删除.fslckout或_FOSSIL_文件