Joplin 是一款开源的跨平台笔记和待办事项应用程序。它可以处理大量的笔记,这些笔记可以组织到笔记本中,并可以在多个设备之间同步。笔记可以使用 Markdown 格式进行编辑,可以直接在应用程序内编辑,也可以使用您自己的文本编辑器编辑。每个应用程序都提供一个选项,用于渲染带有格式、图像、URL 等的 Markdown。任何数量的文件(例如图像和 PDF)都可以附加到笔记中,并且笔记也可以被标记。
当 Evernote 更改其定价模式,并且因为我希望我的 4000 多个笔记以更开放的格式存储,摆脱任何专有解决方案时,我开始开发 Joplin。为此,我开发了三个 Joplin 应用程序,所有应用程序均在 MIT 许可证下发布:桌面版(Windows、MacOS 和 Linux)、移动版(Android 和 iOS)和终端版(Windows、MacOS 和 Linux)。所有应用程序都具有相似的用户界面,并且可以彼此同步。它们基于开放标准和技术,包括用于后端的 SQLite 和 JavaScript,以及用于三个前端的 Terminal Kit (Node.js)、Electron 和 React Native。
Joplin 优先离线使用,因此即使没有互联网连接,数据也始终可在设备上使用。
同步
我在创建 Joplin 时的目标之一是避免在同步方面依赖任何特定的公司或服务。因此,它的同步设计没有对任何特定服务的硬性依赖。大部分同步过程都在抽象层面完成,对外部服务(如 OneDrive 或 Dropbox)的访问通过轻量级驱动程序完成。通过创建提供类似文件系统界面的简单驱动程序(即读取、写入、删除和列出项目的功能),可以轻松支持新服务。
可以从一个服务切换到另一个服务,甚至可以同时同步到多个服务。每个笔记、笔记本和标签,以及项目之间的关系,在同步期间都以纯文本文件传输,这意味着数据也可以轻松地移动到不同的应用程序、备份、检查等。此同步后端旨在持久耐用且具有前瞻性。
目前,可以使用 OneDrive(默认)或本地文件系统(允许通过网络共享进行同步)进行同步。一旦此 React-Native 错误 修复,Dropbox 驱动程序也将可用。当与 OneDrive 同步时,Joplin 会在 OneDrive 的 /Apps/Joplin
中创建一个子目录,并从中读取/写入笔记和笔记本。应用程序无权访问此目录之外的任何内容。
要启动同步过程,请按照以下步骤操作
- 桌面应用程序: 点击侧边栏中的 同步 按钮。系统将提示您登录 OneDrive 以授权应用程序(只需输入您的 Microsoft 凭据;您无需注册 OneDrive)。之后,应用程序将在运行时在后台同步,或者您可以单击 同步 以启动手动同步。
- 终端应用程序: 输入
:sync
。系统将提示您点击链接以授权应用程序。之后,应用程序将在运行时在后台同步。您也可以通过在终端中输入joplin sync
在用户界面之外进行同步。这可以用于设置 cron 脚本以定期同步。例如,以下命令将每 30 分钟执行一次:
*/30 * * * * /path/to/joplin sync
- 移动应用程序: 点击 同步 按钮并输入您的 OneDrive 凭据。
附件
任何类型的文件都可以附加到笔记中;在 Joplin 中,这些文件被称为“资源”。在 Markdown 中,指向这些文件的链接表示为资源的简单 ID。在笔记查看器中,图像文件将显示,PDF、文本文件或其他类型的文件将显示为链接。单击链接将在默认应用程序中打开文件。
从 Evernote 导入笔记
Joplin 被设计为 Evernote 的替代品,因此它可以导入完整的 Evernote 笔记本,以及笔记、标签、资源(附件)和笔记元数据(例如作者、地理位置等),通过 ENEX 文件。要导入 Evernote 数据,首先 将您的 Evernote 笔记本导出 为 ENEX 文件。
要将您的笔记本导入 Joplin,请按照以下步骤操作
- 桌面应用程序: 打开 文件 菜单,然后单击 导入 Evernote 笔记,然后选择您的 ENEX 文件。这将打开一个新屏幕,显示导入进度。笔记将导入到一个单独的新笔记本中(这样做是为了防止笔记与任何现有笔记混淆,以防出错)。如果需要,可以将它们移动到不同的笔记本,可以重命名笔记本等。
- 终端应用程序: 在 命令行模式 下,输入
import-enex /path/to/file.enex
。这会将笔记导入到一个以文件名命名的新笔记本中。 - 移动应用程序: 目前移动应用程序不支持导入 Enex 文件。将 Evernote 中的笔记导入移动应用程序的方法是首先从桌面应用程序导入它们,然后与移动应用程序同步。
桌面、移动和终端应用程序的比较
这三个应用程序之间存在差异。
桌面应用程序

opensource.com
桌面应用程序可在 Windows、Linux 和 MacOS 上使用。主视图显示一个侧边栏,其中包含笔记本和标签列表、笔记列表以及当前选定笔记的内容。桌面应用程序的主要区别在于,笔记以双视图显示,一侧是可编辑的 Markdown 文本,另一侧是渲染后的笔记。可以通过单击工具栏中的 布局 按钮来仅显示笔记编辑器、仅显示视图或同时显示两者。
终端应用程序

opensource.com
终端应用程序可在 Windows(通过 WSL)、Linux 和 MacOS 上使用。要在 Windows 或 Linux 上安装它,请输入
npm install -g joplin
在 macOS 上,最好使用 Homebrew,并使用以下命令安装应用程序
brew install joplin
如果由于权限问题导致应用程序未安装,请确保您的 全局 npm 权限正确。
要启动应用程序,请输入 joplin
。这将打开用户界面,该界面有三个主要窗格:笔记本、笔记和当前笔记的文本。还有其他面板可以通过 快捷键 切换开和关。要创建新笔记,请输入 tc
。要编辑笔记,请选择它并按 Enter 键。
移动应用程序
![]() opensource.com |
![]() opensource.com |
移动应用程序可在 iOS 和 Android 上使用。与其他应用程序一样,它具有一个 Markdown 编辑器用于输入笔记。创建笔记后,它将显示带有格式的渲染文本。然后,您可以使用 编辑 和 返回 按钮在编辑器和渲染笔记之间切换。笔记和笔记本可以与桌面或终端应用程序同步。
与 Joplin 交互
Joplin 的用户界面部分基于文本编辑器 Vim,并提供两种不同的模式与笔记和笔记本进行交互
- 普通模式 允许使用 Tab 和 Shift+Tab 键从一个窗格移动到另一个窗格,并使用箭头键选择/查看笔记。也可以使用箭头键滚动文本区域。按 Enter 键编辑笔记。还有其他各种 快捷键 可用。
- 命令行模式 可以通过按
:
启动。从那里,可以使用 Joplin 命令,例如mknote
或search
。请参阅 完整命令列表。
虽然您可以通过标题或 ID 引用笔记或笔记本,但最简单的方法是使用以下快捷方式之一来引用当前选定的项目
快捷键 | 描述 |
---|---|
$n | 指的是当前选定的笔记 |
$b |
指的是当前选定的笔记本 |
$c |
指的是当前选定的项目,例如,如果笔记列表当前处于活动状态,则 $c 将指代当前选定的笔记。 |
这里有一些例子
创建一个标题为“Wednesday's meeting”的新笔记
mknote "Wednesday's meeting"
创建一个新的待办事项
mktodo "Buy bread"
将当前选定的笔记 ($n
) 移动到标题为“Personal”的笔记本
mv $n "Personal"
将当前选定的笔记本 ($b
) 重命名为 “Something”
ren $b "Something"
将本地文件附加到当前选定的笔记 ($n
)
attach $n /home/laurent/pictures/Vacation12.jpg
也可以从命令行模式更改配置。例如,要将当前编辑器更改为 sublime text
config editor "subl -w"
获取帮助
完整的用法信息可在命令行模式下通过输入以下命令之一获得
命令 | 描述 |
---|---|
help |
通用帮助信息 |
help shortcuts |
列出可用的快捷键 |
help [command] |
显示有关特定命令的信息 |
如果帮助未完全显示,请多次按 Tab 键直到控制台处于焦点状态,然后使用箭头键或 Page Up/Page Down 键滚动文本。
38 条评论