Skip to content

Latest commit

 

History

History
85 lines (50 loc) · 4.88 KB

auto-complete.md

File metadata and controls

85 lines (50 loc) · 4.88 KB
description
Yu Writer 总能在适当的时候正确地帮你补完一些符号或格式,让你拥有一个流畅的写作体验。

自动完成

基本格式符号自动补完

当输入表示粗体、斜体、下划线、删除线、高亮、行内代码格式的符号时(即 **_++~~== 和反引号),编辑器会自动补完后半段符号,并且光标位于前后符号之间。这时你只需照常录入文字,输入的文字会刚好被前后符号包围起来,输入完文字后按 Enter 键(或者 Tab键)光标会自动跳出格式文本范围(当然也可以按一次或两次右箭头键让光标跳出),格式文字录入完成。

当然 Yu Writer 并不是作简单机械地补完,比如在以下情况下不会补完以避免出错:

  • 在 Front Matter、代码块、数学公式区域里输入上述符号,因为在这些文字区域里这些符号不再表示文字格式;
  • 在文档开头处输入 ++,因为该符号此时更大机率是表示 TOML 格式的 Front Matter 开始;
  • 在一行文字下面输入 ==,因为该符号此时表示 Setext 风格的一级标题;
  • [a-zA-Z0-9_] 等字符后面输入 _,因为该符号此时表示普通的单词的连接符;
  • 在一行文字的开头输入反引号,因为此时更大机率是表示 Fancy 代码块的连续 3 个反引号的开始。

{% hint style="info" %} **小技巧:**在格式文本区域内,使用 Shift+Enter 可以强制换行。 {% endhint %}

标题符号自动补完

当输入完一行文字后,按下 Alt + Enter 可以将当前行设为当前级别的标题。

举例:如果前一个标题是以 ### 开头 3 级标题,则当前行会变成 ### 开头的 3 级标题。如果前一个标题是 Setext 风格的 2 级标题,则当前行后面会被加上 --- 变成 2 级标题。

当光标位于标题文字任一位置时,按下 TabShift+Tab 键可增加或降低标题的级别,而且编辑器能正确判断是切换成 Setex 风格还是 Atx 风格。

列表项自动生成

当你在一个列表项末尾按下 Enter 键时,会自动生成一项新的列表项,新的列表项能够:

  • 识别当前列表是普通列表项、有序列表项还是任务列表项;
  • 如果是普通列表项,能生成正确的项目符号,比如是 * 号、 + 号还是 - 号;
  • 如果是有序列表项,能生成正确的序号;
  • 如果有缩进,能生成正确的缩进。

{% hint style="info" %} **小技巧:**使用 Shift+Enter 可以忽略自动完成。 {% endhint %}

列表项左缩进及右缩进

将光标移动到列表项文字之内的任意位置,按下 TabShift + Tab 可进行右缩进或者左缩进。

任务列表项的状态改变

按下 Ctrl 键(在 macOS 系统里对应的是 Command 键)再用鼠标点击任务列表项的方格 [ ],可以切换该列表项的完成状态。

表格标头自动补完、自动生成新行、自动调整列宽

该部分内容请参阅 B04 Table

{% hint style="warning" %} **注意:**以下内容稍有超前,如果对 Markdown 语法不熟悉,请参阅手册第二部分 “进阶篇” 相应的章节。 {% endhint %}

链接和图片 Markdown 代码的自动补完

链接代码的格式是 [title](URL),图片代码的格式是 ![title](URL),当你输入第一个左括号时,后面的代码会自动补完,这时输入完 URL 再按 Enter 键(或者 Tab键)光标会跳出代码段,链接或图片代码录入完成。

使用 Enter 或者 Tab 键在代码中各部分跳转

如果光标位于 title 之前,这时按下 EnterTab 键,title 位置的文字会被自动选上,再次按下 EnterTab 键,URL 位置的文字会被自动选上,再次按下 EnterTab 键光标跳出代码范围。

反之,使用 Shift + Tab 键可以反方向跳转,最后光标会跳到代码的第一个字符之前。

引用风格的链接和图片代码自动补完

引用风格的链接代码格式是 [title][REF-ID],引用风格的图片代码格式是 ![title][REF-ID],当输入第二个 [ 符号时,也会实现同样的自动补完。

Fancy 代码块的符号自动补完

当在行首连续输入 3 个反引号时,会自动生成一行新的 3 个反引号以形成一个 Fancy 代码块,并且在第一行末尾自动填上 language 关键字,关键字初始处于选中状态,此时可照常输入代码块的语言名称。

数学公式(LaTex)代码块符号的自动补完

当在行首连续输入 $$ 符号时,会自动生成一行新的 $$ 符号以形成一个数学公式(LaTex)代码块。

Front Matter 代码块符号的自动补完

当在文档开头输入 --- 或者 +++ 符号时,会自动生成一行新 --- 或者 +++ 符号以形成 Front Matter 代码块。