Typora是一款支持Markdown语法的文本编辑器,同时可支持简单的LaTeX语法,兼顾文本写作与学术写作。
特点
实时预览与源代码模式
Typora与市场上的多款笔记类软件相比,编辑界面直接隐藏了Markdown语法的标记,真正意义上做到了「所见即所得」。
Bear保留语法标记的方式可能是部分排版强迫症患者的福音,但对于我而言,直观简洁的编辑页面更有利于我进行专注写作。
需要对语法进行修改时,可以点击相关内容自动显示语法标记;也可以使用源代码模式编辑内容格式,检查语法bug。
进入源代码模式的方式:
- 快捷键
Ctrl + /
- 左下角
</>
按钮 视图 - 源代码模式
emoji表情
支持:emoji
形式插入emoji表情。例如::horse:、:cry:
表格
相比较Markdown语法老老实实输入以下格式插入表格
1 | | 左对齐 | 右对齐 | 居中对齐 | |
Typora提供了更便捷的插入表格功能,只需要在行内鼠标右键 - 插入- 表格
,输入行数和列数,即可自动生成一张表格,表格自带的小组件也能更直观简单地对表格进行样式调整。
YAML Front Matter
YAML(YAML ain’t markup language),是一种递归缩写,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。
Front-matter 是文件最上方以---
分隔的区域,用于指定个别文件的变量。
YAML Front Matter 用于定义文档的全局变量给模板引用。
以本文为例:
1 | --- |
适用于把 Markdown 文档分类归档上传到用 Hexo 框架搭建的博客中。
功能详解
回车与换行
Windows与Unix换行符
行结束符分为CR(Carriage Return)与LF(Line Feed)
CR表示回车\r
,即光标移动到当前行行首。
LF表示换行\n
,即光标垂直下移到下一行,并不改变光标的水平位置。
Windows换行符(CRLF)相当于「回车+换行」, Unix 风格(LF)的换行符是「换行」。
Typora中可以在文件 - 偏好设置 - 编辑器 - 默认换行符
中进行切换。
Markdown原生语法环境
首先,Markdown语法本身存在标准不统一的问题,为了解决这个问题,目前大多数软件在引入Markdown语法时都选择参考CommonMark标准。
其次,应对块级元素与行级元素有一定的认识,分清换行与换段之间的区别。
块级元素包括:
- 容器块:可包含其他块级元素,块引用(
>
)、列表(有序1.
与无序-
)以及列表项。 - 叶子块:不能包含其他块级元素,只能包含行级元素。如分割线(
---
)、标题(#
)、代码块(```
)、某些HTML块、段落等。
- 容器块:可包含其他块级元素,块引用(
行级元素包括:行内代码块(
code
)、强调、加粗、链接、图片、某些 HTML 标签、文本等。软换行:换行不换段。
硬换行:换行又换段。
Markdown的自然语言文本中并不存在“换行”的概念,只存在“换段”的概念。出现这个问题是基于历史原因,当时提出标准是针对命令行编辑器的使用,设计者希望原生文本的展示效果和HTML渲染后的展示效果一致。(refer:What is the reason for the top secret two space newline markdown weirdness? )
这就导致在命令行之外的地方使用Markdown语法,呈现出的结果变成了编辑器与HTML渲染视图不一样:回车键Enter
相当于单个换行符。单次回车是硬换行,对应 <br>
,两次回车是换段,对应 <p>
。
同时部分编辑器支持段末双空格换行,但其他编辑器可能会删除trialing space。
(注:Github Markdown语法支持单回车对应换行,以及双空格换行。)
Typora环境
Typora支持在文件 - 偏好设置 - Markdown - 空格与换行
中个性化设置换行的偏好。
默认设置下:
- 空格:连续输入多个空格,Typora编辑器视图将保留这些空格,但打印或导出时多个空格会被省略成一个。可以通过源代码模式下,在每个空格前添加一个
\
转义符,或者使用HTML风格的&nbps
保持连续的空格。 - 软换行 or 单个换行:可以通过
Shift + Enter
完成一次软换行。软换行只在编辑界面可视,导出时换行会被省略成单个空格。 - 硬换行:可以通过
空格 + 空格 + Shift + Enter
完成一次硬换行。硬换行导出时会保留,同时没有换段的段后距。 - 换段:可以通过
Enter
完成一次换段,等同Typora自动完成两次Shift + Enter
。
在偏好中选择「保留连续的空格与单个换行」,实时预览与导出模式即可保持一致。
审查元素
Typora是基于Electron开发的一款软件,Electron 把 Chromium 浏览器和 Node.js 打包起来,并且向开发者提供了一些 native API,从而允许人们用 Web 技术开发桌面端应用。实质是借由某种编程语言的转化(解析器)将Markdown文档解析成HTML文档,这也解释了Typora同时支持HTML格式的原因。
因此,相较于一般的文本编辑器,Typora实质更类似于浏览器,官方也提供了调试功能,按下Shift + F12
页面会弹出类似于Chrome的开发者工具栏。