0%

Typora使用体验

Typora是一款支持Markdown语法的文本编辑器,同时可支持简单的LaTeX语法,兼顾文本写作与学术写作。

特点

实时预览与源代码模式

Typora与市场上的多款笔记类软件相比,编辑界面直接隐藏了Markdown语法的标记,真正意义上做到了「所见即所得」

Bear保留语法标记的方式可能是部分排版强迫症患者的福音,但对于我而言,直观简洁的编辑页面更有利于我进行专注写作。

需要对语法进行修改时,可以点击相关内容自动显示语法标记;也可以使用源代码模式编辑内容格式,检查语法bug。

进入源代码模式的方式:

  • 快捷键Ctrl + /
  • 左下角</>按钮
  • 视图 - 源代码模式

emoji表情

支持:emoji形式插入emoji表情。例如::horse:、:cry:

表格

相比较Markdown语法老老实实输入以下格式插入表格

1
2
3
4
| 左对齐 | 右对齐 | 居中对齐 |
| :-----| ----: | :----: |
| 单元格 | 单元格 | 单元格 |
| 单元格 | 单元格 | 单元格 |

Typora提供了更便捷的插入表格功能,只需要在行内鼠标右键 - 插入- 表格,输入行数和列数,即可自动生成一张表格,表格自带的小组件也能更直观简单地对表格进行样式调整。

YAML Front Matter

YAML(YAML ain’t markup language),是一种递归缩写,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。

Front-matter 是文件最上方以---分隔的区域,用于指定个别文件的变量。

YAML Front Matter 用于定义文档的全局变量给模板引用。

以本文为例:

1
2
3
4
5
6
7
8
9
10
11
---
title: Typora使用心得
date: 2020-09-16 13:50:17
tags:
- Typora
- 文本编辑器
- Markdown
categories:
- Tech
- Software
---

适用于把 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的开发者工具栏。

参考

  1. Typora完全使用详解 - 少数派
  2. 为什么 markdown 都要设计成按 2 次回车,才能换 1 行? - V2EX
  3. CommonMark 规范要点解读 - D的个人博客
  4. CR, LF, CR/LF区别与关系 - CSDN