2019年6月

VNote 是一款跨平台的开源 Markdown 笔记软件(项目地址 )。不像其他多数宣称跨平台的软件,VNote 将 Linux 和 Windows 都作为主要支持平台,在 Linux 上提供非常优秀的体验。VNote 的目标是做一个带有舒适 Markdown 编辑体验的笔记软件,或者带有强大文件管理功能的 Markdown 编辑器。VNote 借鉴了程序员日常使用的代码编辑器的很多优点,特别是 Vim 的很多优秀思想,尽力成为一款更懂程序员和 Markdown 的笔记软件。

需要强调的是,VNote 是一款 笔记软件,而不是一款 Markdown 编辑器。所以,对比的应该是为知笔记或 VSCode 或 Vim 等支持笔记的软件,而不是 Typora 等编辑器。

第一印象

主界面

VNote 界面的设计原则是尽量利用所有空间,因此没有当前流行的大额头或者侧边栏大按钮,占据主要空间的就是编辑区域。

  • 左侧是导航栏,支持笔记本导航、历史文件、浏览外部文件系统以及标签导航;
  • 中间是编辑区域,支持多个标签;
  • 右侧是工具栏,包括大纲、片段以及小推车;
  • 右下角是全文搜索,支持针对当前已打开文件、当前文件夹、当前笔记文本以及所有笔记本的搜索,包括文件名、内容、标签以及大纲搜索;
  • 底部是状态栏,包括 Vim 状态栏、标签栏、编辑器状态栏以及字数统计;
  • 顶部是工具栏,其中包括附件、通用入口、灵犀页等常用功能;

左右两侧的栏目都可以通过一个快捷键隐藏或显示,从而可以将编辑区域最大化。VNote 使用“笔记本-文件夹-笔记”的层级结构来维护数据,所有数据都是开放的纯文本,因此可以使用其他任意标准工具来编辑或阅读 VNote 的笔记。VNote 不提供数据同步功能,用户需要自己使用第三方的同步软件将数据同步到其他 PC 上,然后重新导入到 VNote 中。

舒适的 Markdown 体验

Markdown 有着天生的编辑和阅读的割裂感。当前主流的处理方式主要有三种:

  1. 单纯按纯文本处理,代表软件是为知笔记,其缺点是只有黑压压的文字;
  2. 双边实时预览,左侧编辑模式,右侧实时预览阅读效果,代表软件就很多了,其缺点是仍然割裂,而且浪费空间。现在如果一个软件还采用双边实时预览来编辑 Markdown,那基本是拿不出手了;
  3. 类富文本实时渲染模式,代表软件是 Typora,其缺点是矫枉过正,和 Markdown 的设计理念背道而驰;

VNote 采用的是一种折中的方案——语法高亮和原地预览。通过精心的语法高亮以及图片原地预览,希望能在保证 Markdown 简洁的前提下,尽可能帮助用户掌握文章信息和脉络。

编辑界面

VNote 区分编辑和阅读模式,这是 VNote 编辑模式的一个界面。该界面展示了 VNote 支持的主要 Markdown 元素:

  • 所有文本都没有隐藏,而且可以直接访问;
  • 语法高亮标题、粗体、斜体;
  • 代码块语法高亮;
  • 公式、图片原地预览,支持 PlantUML、Flowchart 等图表增强;
  • 行号,包括相对行号或绝对行号;

刚从双边实时预览的软件迁移到 VNote 时,可能会觉得不太习惯,但随着对 Markdown 的熟悉,对阅读的效果会越来越有信心,基本能做到在编辑模式下看到的是什么效果,在阅读模式就是这样的效果。如果是刚从 Typora 迁移过来,则很多人可能都会写错语法,因为使用 Typora 基本不用关注 Markdown 的语法,这算是 Typora 的利弊吧。

随心所欲的图片支持

VNote 支持直接粘贴插入图片,包括下载并插入网络图片。VNote 会将图片保存到与笔记文件同文件夹下面的一个文件夹,所以用其他编辑器打开 VNote 的笔记,一般都是可以正常显示图片的。另外,VNote 还会管理插入的图片,将不再需要的图片自动清理。

插入图片

Markdown 与富文本的交互

VNote 支持直接粘贴复制的富文本(如网页),VNote 会将富文本解析为 Markdown,并自动下载图片到本地。另外,VNote 也支持将 Markdown 文本复制为富文本,包括微信公众号、Word 或 OneNote 等。

复制为富文本

通用入口,让一切触手可达

VNote 借鉴了代码编辑器里面的模糊搜索功能,提供了“通用入口”功能。通过一个简单的快捷键即可唤出一个输入框,输入内容,即可实现全文搜索、大纲搜索等功能。

通用入口

在当前所有打开文件中搜索 Markdown:

搜索已打开的文件

在当前所有打开文件的大纲中搜索 vnote:

搜索大纲

在 VNote 中,我基本很少使用工具栏那个传统的全文搜索了。要打开一个文件?通用入口!要查找一个关键字?通用入口!搜索所有大纲?通用入口!列出指定标签的文件?通用入口!全程快捷键高速操作,C++ 实现的全文搜索引擎即刻为你呈现所有结果!

Vim 的疯狂

VNote 名字的由来是: “A Vim-inspired note-taking application”,后面有 Emacs 用户抱怨所以才慢慢把这个标语去掉了,但 Vim 思想对 VNote 的影响可以说得上是疯狂。

VNote 编辑器是自己实现了一个简单的 Vim 模式,基本的操作都支持,标记、寄存器等也有支持,唯一可惜的是还没有支持.操作。

VNote 对 Vim 的疯狂可以体现在:

  • 所有列表都支持Ctrl+J/K上下导航;
  • 所有编辑框都支持Ctrl+U/W/H向前删除;
  • 借鉴 Vim 的前导键,引入“舰长模式”,基本主要快捷键都通过Ctrl+E前导键开始,避免和其他软件的冲突;
  • 借鉴 Vim 的easy-motion插件,引入“导航模式”,所有部件都能通过快捷键来获取焦点。

导航模式

细节周到,惊喜不断

由于是个人作品,因此 VNote 能非常灵活地提供一些非常有趣的巧妙的小功能,例如:

  • 灵犀页:一个可以用快捷键打开的临时的页面;
  • 快速访问:可以设置一个笔记通过快捷键打开;
  • 小推车:任意多选笔记,然后统一处理,例如导出;
  • 片段:通过快捷键插入常用文本;
  • 幻词:快速插入当前日期等信息,支持编辑器以及新建笔记等输入框;
  • 高亮光标行,锁定光标行到编辑区域中央;
  • 编辑 PlantUML 图表时,能双向同步编辑与预览;

VNote 还有很多贴心和强大的功能,有兴趣的可以下载尝试。VNote 提供了 AppImage 格式打包的文件,直接下载运行即可。希望这款基于 Qt 框架开发的笔记软件,能给你带来有别于一众基于 Electron 开发的其他编辑器的全新体验!

最后,欢迎大家提出各种功能请求和 bug 报告,本项目的作者 tamlok 也欢迎更多开源爱好者和使用者参与到本项目的开发当中。

这些应用使素食者、纯素食主义者和那些想吃得更健康的杂食者找到可以吃的食物。

减少对肉类、乳制品和加工食品的消费对地球来说更好,也对你的健康更有益。改变你的饮食习惯可能很困难,但是一些开源的 Android 应用可以让你吃的更清淡。无论你是参加无肉星期一、践行 Mark Bittman 的 6:00 前的素食指南,还是完全切换到 植物全食饮食 whole-food, plant-based diet (WFPB),这些应用能帮助你找出要吃什么、发现素食和素食友好的餐馆,并轻松地将你的饮食偏好传达给他人,来助你更好地走这条路。所有这些应用都是开源的,可从 F-Droid 仓库下载。

Daily Dozen

 title=

Daily Dozen 提供了医学博士、美国法医学会院士(FACLM) Michael Greger 推荐的项目清单作为健康饮食和生活方式的一部分。Greger 博士建议食用由多种食物组成的基于植物的全食饮食,并坚持日常锻炼。该应用可以让你跟踪你吃的每种食物的份数,你喝了多少份水(或其他获准的饮料,如茶),以及你是否每天锻炼。每类食物都提供食物分量和属于该类别的食物清单。例如,十字花科蔬菜类包括白菜、花椰菜、抱子甘蓝等许多其他建议。

Food Restrictions

 title=

Food Restrictions 是一个简单的应用,它可以帮助你将你的饮食限制传达给他人,即使这些人不会说你的语言。用户可以输入七种不同类别的食物限制:鸡肉、牛肉、猪肉、鱼、奶酪、牛奶和辣椒。每种类别都有“我不吃”和“我过敏”选项。“不吃”选项会显示带有红色 X 的图标。“过敏” 选项显示 “X” 和小骷髅图标。可以使用文本而不是图标显示相同的信息,但文本仅提供英语和葡萄牙语。还有一个选项可以显示一条文字信息,说明用户是素食主义者或纯素食主义者,它比选择选项更简洁、更准确地总结了这些饮食限制。纯素食主义者的文本清楚地提到不吃鸡蛋和蜂蜜,这在选择选项中是没有的。但是,就像选择选项方式的文字版本一样,这些句子仅提供英语和葡萄牙语。

OpenFoodFacts

 title=

购买杂货时避免买入不必要的成分可能令人沮丧,但 OpenFoodFacts 可以帮助简化流程。该应用可让你扫描产品上的条形码,以获得有关产品成分和是否健康的报告。即使产品符合纯素产品的标准,产品仍然可能非常不健康。拥有成分列表和营养成分可让你在购物时做出明智的选择。此应用的唯一缺点是数据是用户贡献的,因此并非每个产品都可有数据,但如果你想回馈项目,你可以贡献新数据。

OpenVegeMap

 title=

使用 OpenVegeMap 查找你附近的纯素食或素食主义餐厅。此应用可以通过手机的当前位置或者输入地址来搜索。餐厅分类为仅限纯素食者、适合纯素食者,仅限素食主义者,适合素食者,非素食和未知。该应用使用来自 OpenStreetMap 的数据和用户提供的有关餐馆的信息,因此请务必仔细检查以确保所提供的信息是最新且准确的。


via: https://opensource.com/article/19/4/apps-plant-based-diets

作者:Joshua Allen Holm 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

几天前,我们发布了一篇指南,其中涵盖了开始使用 Docker 时需要了解的几乎所有细节。在该指南中,我们向你展示了如何详细创建和管理 Docker 容器。还有一些可用于管理 Docker 容器的非官方工具。如果你看过我们以前的文章,你可能会看到两个基于 Web 的工具,PortainerPiCluster。它们都使得 Docker 管理任务在 Web 浏览器中变得更加容易和简单。今天,我遇到了另一个名为 Dockly 的 Docker 管理工具。

与上面的工具不同,Dockly 是一个 TUI(文本界面)程序,用于在类 Unix 系统中从终端管理 Docker 容器和服务。它是使用 NodeJS 编写的自由开源工具。在本简要指南中,我们将了解如何安装 Dockly 以及如何从命令行管理 Docker 容器。

安装 Dockly

确保已在 Linux 上安装了 NodeJS。如果尚未安装,请参阅以下指南。

安装 NodeJS 后,运行以下命令安装 Dockly:

# npm install -g dockly

使用 Dockly 在终端管理 Docker 容器

使用 Dockly 管理 Docker 容器非常简单!你所要做的就是打开终端并运行以下命令:

# dockly

Dockly 将通过 unix 套接字自动连接到你的本机 docker 守护进程,并在终端中显示正在运行的容器列表,如下所示。

使用 Dockly 管理 Docker 容器

正如你在上面的截图中看到的,Dockly 在顶部显示了运行容器的以下信息:

  • 容器 ID,
  • 容器名称,
  • Docker 镜像,
  • 命令,
  • 运行中容器的状态,
  • 状态。

在右上角,你将看到容器的 CPU 和内存利用率。使用向上/向下箭头键在容器之间移动。

在底部,有少量的键盘快捷键来执行各种 Docker 管理任务。以下是目前可用的键盘快捷键列表:

  • = - 刷新 Dockly 界面,
  • / - 搜索容器列表视图,
  • i - 显示有关当前所选容器或服务的信息,
  • 回车 - 显示当前容器或服务的日志,
  • v - 在容器和服务视图之间切换,
  • l - 在选定的容器上启动 /bin/bash 会话,
  • r - 重启选定的容器,
  • s - 停止选定的容器,
  • h - 显示帮助窗口,
  • q - 退出 Dockly。

查看容器的信息

使用向上/向下箭头选择一个容器,然后按 i 以显示所选容器的信息。

查看容器的信息

重启容器

如果你想随时重启容器,只需选择它并按 r 即可重新启动。

重启 Docker 容器

停止/删除容器和镜像

如果不再需要容器,我们可以立即停止和/或删除一个或所有容器。为此,请按 m 打开菜单。

停止,删除 Docker 容器和镜像

在这里,你可以执行以下操作。

  • 停止所有 Docker 容器,
  • 删除选定的容器,
  • 删除所有容器,
  • 删除所有 Docker 镜像等。

显示 Dockly 帮助部分

如果你有任何疑问,只需按 h 即可打开帮助部分。

Dockly 帮助

有关更多详细信息,请参考最后给出的官方 GitHub 页面。

就是这些了。希望这篇文章有用。如果你一直在使用 Docker 容器,请试试 Dockly,看它是否有帮助。

建议阅读:

资源:


via: https://www.ostechnix.com/dockly-manage-docker-containers-from-terminal/

作者:sk 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

在某些情况下,你可能想要将一个服务器上的软件包列表安装到另一个服务器上。例如,你已经在服务器 A 上安装了 15 个软件包并且这些软件包也需要被安装到服务器 B、服务器 C 上等等。

我们可以手动去安装这些软件但是这将花费大量的时间。你可以手动安装一俩个服务器,但是试想如果你有大概十个服务器呢。在这种情况下你无法手动完成工作,那么怎样才能解决问题呢?

不要担心我们可以帮你摆脱这样的情况和场景。我们在这篇文章中增加了四种方法来克服困难。

我希望这可以帮你解决问题。我已经在 Centos7 和 Ubuntu 18.04 上测试了这些命令。

我也希望这可以在其他发行版上工作。这仅仅需要使用该发行版的官方包管理器命令替代本文中的包管理器命令就行了。

如果想要 检查 Linux 系统上已安装的软件包列表,请点击链接。

例如,如果你想要在基于 RHEL 系统上创建软件包列表请使用以下步骤。其他发行版也一样。

# rpm -qa --last | head -15 | awk '{print $1}' > /tmp/pack1.txt

# cat /tmp/pack1.txt
mariadb-server-5.5.60-1.el7_5.x86_64
perl-DBI-1.627-4.el7.x86_64
perl-DBD-MySQL-4.023-6.el7.x86_64
perl-PlRPC-0.2020-14.el7.noarch
perl-Net-Daemon-0.48-5.el7.noarch
perl-IO-Compress-2.061-2.el7.noarch
perl-Compress-Raw-Zlib-2.061-4.el7.x86_64
mariadb-5.5.60-1.el7_5.x86_64
perl-Data-Dumper-2.145-3.el7.x86_64
perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64
httpd-2.4.6-88.el7.centos.x86_64
mailcap-2.1.41-2.el7.noarch
httpd-tools-2.4.6-88.el7.centos.x86_64
apr-util-1.5.2-6.el7.x86_64
apr-1.4.8-3.el7_4.1.x86_64

方法一:如何在 Linux 上使用 cat 命令安装文件中列出的包?

为实现这个目标,我将使用简单明了的第一种方法。为此,创建一个文件并添加上你想要安装的包列表。

出于测试的目的,我们将只添加以下的三个软件包名到文件中。

# cat /tmp/pack1.txt

apache2
mariadb-server
nano

只要简单的运行 apt 命令 就能在 Ubuntu/Debian 系统上一次性安装所有的软件包。

# apt -y install $(cat /tmp/pack1.txt)

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libopts25 sntp
Use 'sudo apt autoremove' to remove them.
Suggested packages:
  apache2-doc apache2-suexec-pristine | apache2-suexec-custom spell
The following NEW packages will be installed:
  apache2 mariadb-server nano
0 upgraded, 3 newly installed, 0 to remove and 24 not upgraded.
Need to get 339 kB of archives.
After this operation, 1,377 kB of additional disk space will be used.
Get:1 http://in.archive.ubuntu.com/ubuntu bionic-updates/main amd64 apache2 amd64 2.4.29-1ubuntu4.6 [95.1 kB]
Get:2 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 nano amd64 2.9.3-2 [231 kB]
Get:3 http://in.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 mariadb-server all 1:10.1.38-0ubuntu0.18.04.1 [12.9 kB]
Fetched 339 kB in 19s (18.0 kB/s)
Selecting previously unselected package apache2.
(Reading database ... 290926 files and directories currently installed.)
Preparing to unpack .../apache2_2.4.29-1ubuntu4.6_amd64.deb ...
Unpacking apache2 (2.4.29-1ubuntu4.6) ...
Selecting previously unselected package nano.
Preparing to unpack .../nano_2.9.3-2_amd64.deb ...
Unpacking nano (2.9.3-2) ...
Selecting previously unselected package mariadb-server.
Preparing to unpack .../mariadb-server_1%3a10.1.38-0ubuntu0.18.04.1_all.deb ...
Unpacking mariadb-server (1:10.1.38-0ubuntu0.18.04.1) ...
Processing triggers for ufw (0.36-0ubuntu0.18.04.1) ...
Setting up apache2 (2.4.29-1ubuntu4.6) ...
Processing triggers for ureadahead (0.100.0-20) ...
Processing triggers for install-info (6.5.0.dfsg.1-2) ...
Setting up nano (2.9.3-2) ...
update-alternatives: using /bin/nano to provide /usr/bin/editor (editor) in auto mode
update-alternatives: using /bin/nano to provide /usr/bin/pico (pico) in auto mode
Processing triggers for systemd (237-3ubuntu10.20) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Setting up mariadb-server (1:10.1.38-0ubuntu0.18.04.1) ...

至于删除,需要使用相同的命令格式和适当的选项。

# apt -y remove $(cat /tmp/pack1.txt)
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  apache2-bin apache2-data apache2-utils galera-3 libaio1 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libconfig-inifiles-perl libdbd-mysql-perl libdbi-perl libjemalloc1 liblua5.2-0
  libmysqlclient20 libopts25 libterm-readkey-perl mariadb-client-10.1 mariadb-client-core-10.1 mariadb-common mariadb-server-10.1 mariadb-server-core-10.1 mysql-common sntp socat
Use 'apt autoremove' to remove them.
The following packages will be REMOVED:
  apache2 mariadb-server nano
0 upgraded, 0 newly installed, 3 to remove and 24 not upgraded.
After this operation, 1,377 kB disk space will be freed.
(Reading database ... 291046 files and directories currently installed.)
Removing apache2 (2.4.29-1ubuntu4.6) ...
Removing mariadb-server (1:10.1.38-0ubuntu0.18.04.1) ...
Removing nano (2.9.3-2) ...
update-alternatives: using /usr/bin/vim.tiny to provide /usr/bin/editor (editor) in auto mode
Processing triggers for ufw (0.36-0ubuntu0.18.04.1) ...
Processing triggers for install-info (6.5.0.dfsg.1-2) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...

使用 yum 命令 在基于 RHEL (如 Centos、RHEL (Redhat) 和 OEL (Oracle Enterprise Linux)) 的系统上安装文件中列出的软件包。

# yum -y install $(cat /tmp/pack1.txt)

使用以命令在基于 RHEL (如 Centos、RHEL (Redhat) 和 OEL (Oracle Enterprise Linux)) 的系统上卸载文件中列出的软件包。

# yum -y remove $(cat /tmp/pack1.txt)

使用以下 dnf 命令 在 Fedora 系统上安装文件中列出的软件包。

# dnf -y install $(cat /tmp/pack1.txt)

使用以下命令在 Fedora 系统上卸载文件中列出的软件包。

# dnf -y remove $(cat /tmp/pack1.txt)

使用以下 zypper 命令 在 openSUSE 系统上安装文件中列出的软件包。

# zypper -y install $(cat /tmp/pack1.txt)

使用以下命令从 openSUSE 系统上卸载文件中列出的软件包。

# zypper -y remove $(cat /tmp/pack1.txt)

使用以下 pacman 命令 在基于 Arch Linux (如 Manjaro 和 Antergos) 的系统上安装文件中列出的软件包。

# pacman -S $(cat /tmp/pack1.txt)

使用以下命令从基于 Arch Linux (如 Manjaro 和 Antergos) 的系统中卸载文件中列出的软件包。

# pacman -Rs $(cat /tmp/pack1.txt)

方法二:如何使用 cat 和 xargs 命令在 Linux 中安装文件中列出的软件包。

甚至,我更喜欢使用这种方法,因为这是一种非常简单直接的方法。

使用以下 apt 命令在基于 Debian 的系统 (如 Debian、Ubuntu 和 Linux Mint) 上安装文件中列出的软件包。

# cat /tmp/pack1.txt | xargs apt -y install

使用以下 apt 命令 从基于 Debian 的系统 (如 Debian、Ubuntu 和 Linux Mint) 上卸载文件中列出的软件包。

# cat /tmp/pack1.txt | xargs apt -y remove

使用以下 yum 命令在基于 RHEL (如 Centos,RHEL (Redhat) 和 OEL (Oracle Enterprise Linux)) 的系统上安装文件中列出的软件包。

# cat /tmp/pack1.txt | xargs yum -y install

使用以命令从基于 RHEL (如 Centos、RHEL (Redhat) 和 OEL (Oracle Enterprise Linux)) 的系统上卸载文件中列出的软件包。

# cat /tmp/pack1.txt | xargs yum -y remove

使用以下 dnf 命令在 Fedora 系统上安装文件中列出的软件包。

# cat /tmp/pack1.txt | xargs dnf -y install

使用以下命令从 Fedora 系统上卸载文件中列出的软件包。

# cat /tmp/pack1.txt | xargs dnf -y remove

使用以下 zypper 命令在 openSUSE 系统上安装文件中列出的软件包。

# cat /tmp/pack1.txt | xargs zypper -y install

使用以下命令从 openSUSE 系统上卸载文件中列出的软件包。

# cat /tmp/pack1.txt | xargs zypper -y remove

使用以下 pacman 命令在基于 Arch Linux (如 Manjaro 和 Antergos) 的系统上安装文件中列出的软件包。

# cat /tmp/pack1.txt | xargs pacman -S

使用下以命令从基于 Arch Linux (如 Manjaro 和 Antergos) 的系统上卸载文件中列出的软件包。

# cat /tmp/pack1.txt | xargs pacman -Rs

方法三 : 如何使用 For 循环在 Linux 上安装文件中列出的软件包

我们也可以使用 for 循环命令来实现此目的。

安装批量包可以使用以下一条 for 循环的命令。

# for pack in `cat /tmp/pack1.txt` ; do apt -y install $i; done

要使用 shell 脚本安装批量包,请使用以下 for 循环。

# vi /opt/scripts/bulk-package-install.sh

#!/bin/bash
for pack in `cat /tmp/pack1.txt`
do apt -y remove $pack
done

bulk-package-install.sh 设置可执行权限。

# chmod + bulk-package-install.sh

最后运行这个脚本。

# sh bulk-package-install.sh

方法四:如何使用 While 循环在 Linux 上安装文件中列出的软件包

我们也可以使用 while 循环命令来实现目的。

安装批量包可以使用以下一条 while 循环的命令。

# file="/tmp/pack1.txt"; while read -r pack; do apt -y install $pack; done < "$file"

要使用 shell 脚本安装批量包,请使用以下 while 循环。

# vi /opt/scripts/bulk-package-install.sh

#!/bin/bash
file="/tmp/pack1.txt"
while read -r pack
do apt -y remove $pack
done < "$file"

bulk-package-install.sh 设置可执行权限。

# chmod + bulk-package-install.sh

最后运行这个脚本。

# sh bulk-package-install.sh

via: https://www.2daygeek.com/how-to-install-uninstall-listed-packages-from-a-file-in-linux/

作者:Magesh Maruthamuthu 选题:lujun9972 译者:way-ww 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

有很多适用于 Linux 的 Markdown 编辑器,并且还在继续增加。问题是,像 Boostnote 一样,大多数是为编码人员设计的,可能不会受到非技术人员的欢迎。让我们看一个想要替代 Word 和昂贵的文字处理器,适用于非技术人员的 Markdown 编辑器。我们来看看 Zettlr 吧。

Zettlr Markdown 编辑器

Zettlr Light Mode

我可能在网站上提到过一两次,我更喜欢用 Markdown 写下我的所有文档。它易于学习,不会让你受困于专有文档格式。我还在我的适合作者的开源工具列表中提到了 Markdown 编辑器。

我用过许多 Markdown 编辑器,但是我一直有兴趣尝试新的。最近,我遇到了 Zettlr,一个开源 Markdown 编辑器。

Zettlr 是一位名叫 Hendrik Erz 的德国社会学家/政治理论家创建的。Hendrik 创建了 Zettlr,因为他对目前的文字处理器感到不满意。他想要可以让他“专注于写作和阅读”的编辑器。

在发现 Markdown 之后,他在不同的操作系统上尝试了几个 Markdown 编辑器。但它们都没有他想要的东西。根据 Hendrik 的说法,“但我不得不意识到没有为高效组织大量文本而写的编辑器。大多数编辑都是由编码人员编写的,因此可以满足工程师和数学家的需求。没有为我这样的社会科学、历史或政治学的学生的编辑器。“

所以他决定创造自己的。2017 年 11 月,他开始编写 Zettlr。

Zettlr About

Zettlr 功能

Zettlr 有许多简洁的功能,包括:

  • Zotero 数据库导入源并在文档中引用它们 * 使用可选的行屏蔽,让你无打扰地专注于写作 * 支持代码高亮 * 使用标签对信息进行排序 * 能够为该任务设定写作目标 * 查看一段时间的写作统计 * 番茄钟计时器 * 浅色/深色主题 * 使用 reveal.js 创建演示文稿 * 快速预览文档 * 可以在一个项目文件夹中搜索 Markdown 文档,并用热图展示文字搜索密度。 * 将文件导出为 HTML、PDF、ODT、DOC、reStructuredText、LaTex、TXT、Emacs ORG、TextBundle 和 Textpack * 将自定义 CSS 添加到你的文档

当我写这篇文章时,一个对话框弹出来告诉我最近发布了 1.3.0 beta。此测试版将包括几个新的主题,以及一大堆修复,新功能和改进。

Zettlr Night Mode

安装 Zettlr

目前,唯一可安装 Zettlr 的 Linux 存储库是 AUR。如果你的 Linux 发行版不是基于 Arch 的,你可以从网站上下载 macOS、Windows、Debian 和 Fedora 的安装程序

对 Zettlr 的最后一点想法

注意:为了测试 Zettlr,我用它来写这篇文章。

Zettlr 有许多我希望我之前选择的编辑器 (ghostwriter) 有的简洁的功能,例如为文档设置字数目标。我也喜欢在不打开文档的情况下预览文档的功能。

Zettlr Settings

我也遇到了几个问题,但这些更多的是因为 Zettlr 与 ghostwriter 的工作方式略有不同。例如,当我尝试从网站复制引用或名称时,它会将内嵌样式粘贴到 Zettlr 中。幸运的是,它有一个“不带样式粘贴”的选项。有几次我在打字时有轻微的延迟。但那可能是因为它是一个 Electron 程序。

总的来说,我认为 Zettlr 是第一次使用 Markdown 用户的好选择。它有许多 Markdown 编辑器已有的功能,并为那些只使用过文字处理器的用户增加了一些功能。

正如 Hendrik 在 Zettlr 网站中所说的那样,“让自己摆脱文字处理器的束缚,看看你的写作过程如何通过身边的技术得到改善!”

如果你觉得 Zettlr 有用,请考虑支持 Hendrik。正如他在网站上所说,“它是免费的,因为我不相信激烈竞争、早逝的创业文化。我只是想帮忙。”

你有没有用过 Zettlr?你最喜欢的 Markdown 编辑器是什么?请在下面的评论中告诉我们。

如果你觉得这篇文章有趣,请在社交媒体,Hacker News 或 Reddit 上分享它。


via: https://itsfoss.com/zettlr-markdown-editor/

作者:John Paul 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出