Git以及git公共仓库站点Github和Gitlab的流行。让Markdown格式被广泛地接受,Markdown编辑器更是层出不穷,但是找到一个比较称手的作为日常笔记记录工具的则较费周折。此处我们介绍一个这样一个工具Zettlr,可以供大家参考抉择。Zettlr是所见即所得 (WYSIWYM) 的MD编辑器,支持在本地以纯MD文件形式保存,适合编写从Blog、个人日常笔记,甚至是学术论文(TeX)、保留个人日记。Zettlr操作上手很简单,非常容易入门。
概述
Zettlr来源于德文的单词笔记(note),其作者Hendrik Erz对市面上的学术协作工具不太满意,于是在2017年时候创建了Zettlr。
Zettlr是一个跨平台Electron应用程序,使用JS语言编写,使用CodeMirror作为其嵌入式编辑器。Zettlr以GPLv3协议开放源码,支持在Linux、Windows和macOS跨平台使用。
入门
Zettlr 的安装非常简单,只需点击几下即可。 Zettlr 是跨平台的,因此它可以在大多数计算机上运行。 Zettlr 是为 macOS、Windows 和多个 Linux 系统预先构建的。
最低系统要求
Zettlr支持多平台安装,需要软件需求也不高:
操作系统版本:
Windows10或更高版本
macOS 11.6.0 或更高版本
Debian 8 或更高版本
Ubuntu 12.04 或更高版本
Fedora 24 或更新版本
AppImages或Flatpak支持的任何发行版
硬件需求:
处理器:1GHz双核64位CPU(不支持 32 位)
在Linux上,支持等效的ARM 64位处理器
在macOS上,支持Apple Silicon(M1、M2 等)
内存1GB
至少500 MB可用磁盘空间。
安装
Window下直接从官方发布页下载安装即可。
macOS下可以下载DMG安装或者用Homebrew安装:
brew install --cask zettlr
Linux下根据各种发行版,提供rpm,deb等对应二进制安装包,或者通过源码编译安装。
文档导出
Zettlr的优势之一是提供最广泛地文档导出功能。通过内置的Pandoc可以支持文档导出为HTML、富文本格式(RTF)、OpenDocument格式 (ODF)、LaTeX、纯TXT文本、Microsoft Word (docx)、简单PDF 和LaTeX PDF。用户甚至可以使用Zettlr通过导出来创建Markdown到reveal.js演示文稿格式。
除了默认这些导出格式外,Zettlr 的所有导入/导出配置文件存储为YAML文件并通过其资产助手(Assets Manager)公开。通过她用户可以调整每种格式的设置,或创建新的格式。最后,还可以添加自定义导出命令,极大扩展了其格式的灵活性。
工作空间
可以简单地打开或创建一个文本文件并启动编辑,但Zettlr的设计以工作空间和文件夹(目录)为中心, Zettlr中允许打开多个一次工作空间,因此用户可能有一个用于工作项目的工作空间,另一个用于日常笔记,等等。文件夹和工作区可以转换到项目。这Zettlr中项目的好处是项目中的所有文件都可以导出为单个文档。例如,可以将书的每一章作为单个Markdown文件处理,然后导出只需单击一下即可将整本书转换为PDF或其他格式。
但是针对项目的导出有点局限,仅支持将工作区中的所有文件集中在一起作为单独项目。如果Zettlr也支持将工作区中的内容呈现为单独的HTML文件网站或知识库就很有意义。由于所有内容都以纯MD文件形式存储在磁盘上所以这种需求可以借助其他软件实现,比如Jekyll来生成。
编辑
Zettlr是一个所见即所得编辑器,Zettlr可以提供实时Markdown渲染,使其更像在Word编辑器,而非纯文本编辑器。例如,用户可以对一些格式进行实时渲染,包括链接、粗体文本、斜体文本、标题、图像和Mermaid内联图表。Zettlr还支持有快速预览功能,显示当前的打印预览文档。
Zettlr的用户界面非常灵活。用户可以打开多个选项卡和/或拆分窗口中的文档。当然,它有一个全屏模式,可以扩展编辑器以适合整个屏幕并隐藏大部分内容的编辑器界面——专注模式。该模式下隐藏侧边栏、选项卡、分割窗口,并使除当前段落之外的所有文本变灰。
打字机模式,可以突出显示并居中当前的内容编辑器中间的段落。这非常有用,可以将光标保持在屏幕中间。当人们写更多的文字时,会越来越低。所有这些模式都可以按需合并,让写作者将所有精力用来写作。
当然Zettlr也支持码农们最爱的黑暗模式(夜间模式)。黑暗模式下有五个默认主题更改配色方案和字体。每个主题都有一个相对应的深色模式。
用户可以设置计划任务,定时从浅色模式到深色模式切换。所有界面都可通过CSS进行自定义,如果默认主题存在个性化偏差,用户可以根据自己的喜好对此进行调整。
对于Emacs或Vim的拥趸们,Zettlr也支持具有Emacs和Vim模式选项。他们由CodeMirror插件并仅提供每个编辑器的子集键绑定。例如Emacs用户用control-k删除从光标到行尾的所有内容。在Zettlr中,control-k绑定到“插入链接”,所以需要额外的键绑定来实现这样的功能。
说到按键绑定,Zettlr在这方面也做得非常棒,几乎每个菜单选项有快捷键。唯一遗憾的是这个不支持个性化配置,这是由于Electron的局限性限制,希望后续版本可以优化支持。
辅助工具
为了方便文本统计和处理,Zettlr提供了跟踪写作的工具进度、文本替换、引文、拼写检查、Markdown语法检查、以及使用LanguageTool进行可选的语法/风格检查。工具状态栏位于编辑器底部,显示当前光标位置、字数和在文档中字符,编辑器模式(如果在Vim或Emacs模式),并在右侧诊断记录了可能的错误。单击状态栏中的诊断选项卡将打开一个小窗口 编辑器底部的面板包含拼写错误列表,语法错误等等。语法和风格检查需要LanguageTool服务或自托管的开源工具项目(github/languagetool-org/languagetool)。
出于某种原因,Zettlr非常关心智能quotes,它也称为“魔法quotes”。它的自动更正设置选项卡在顶部单独调出quotes设置页面,与所有其他文本替换选项分开。它甚至支持状态栏按钮,用于启用、禁用和定制智能quotes。除了智能quotes之外,它还提供了许多文本替换选项,例如将双连字符转换为破折号 (–) 插入欧元货币符号(€) 或通过输入:eur。
Zettlr还支持一些用于跟踪生产力的工具。顶部工具栏中的统计按钮可以快速查看过去写了多少字,包括按月、日平均统计的字数字数统计。单击“更多统计”会显示多种视图用于字数统计和图表视图显示文件之间的链接。
Zettlr 提供番茄钟计时器工具栏中也有帮助将写作会话分解为可管理的块。
如果将Zettlr用作个人知识数据库或Zettlkasten。除了工具名字相识外,zettlr和Zettlkasten实际上也有些非通常的关联性。Zettlr有几个 功能专门用于管理Zettlekasten或类似的笔记保存方案。他支持为Zettel创建唯一 ID Notes,用于文件以及标签之间的交叉引用。 例如,可以添加一个 #blog 标记每个文档其中包含一篇博客文章。
表格
Markdown是一种不错的标记语言,非常擅长处理文本格式的内容。但是对于i表格支持则过于原始,只支持以原始Ascii的+_和|来处理表格形式。所以Markdown的编辑表格非常笨拙和乏味。在Zettlr中有一个表格编辑器,可以然使用基本表格变得容易。
通过
“插入表格”按钮可以用鼠标拖拽的方式选择所需的表格行和列数,然后显示一个图形表格编辑器,其中包含简单的控件来管理文本对齐方式,以及创建或删除列和行。
不过,表格编辑器也只能完成基础功能。更多的复杂的布局,例如将单个单元格拆分为多个列还不支持。但是对于Markdown或HTML进行中可能的复杂表格布局已经足矣。
在涉及到将图像插入到文档中。用户可能期望图像按钮将弹出一个文件对话框来选择图像并插入正确的Markdown标记以包含图像,但是这不支持。Zettlr只是插入图像的原始代码(例如,![description](/path/to/image.jpg) ) 以及任何可能的链接作为图像的URL)。如果剪贴板没有图像链接,则将其保留一个占位文本,需要一个手动插入修改。但是支持,可以直接复制图像或者将其拖放到文档中。Zettlr对于浏览器中的复制和粘贴(包括格式)相当好。
总结
乍一看,Zettlr似乎是一个相当简单的Markdown编辑器,但它还能做更多的事情。这完全取决于用户想要做什么,以及学会怎么去做。
总体而言,Zettlr 提供了一套全面文字工作功能的工作台,对于热爱开源,热爱动手和探索的同学非常值得一试。