+TITLE: 初学者教程

  • 初学者教程 :TOC_4_gh:noexport:

    • [[#为什么要用-spacemacs][为什么要用 Spacemacs?]]
    • [[#安装][安装]]
      • [[#1-安装-emacs][1. 安装 EMACS]]
      • [[#2-安装-git][2. 安装 Git]]
      • [[#3-安装-spacemacs][3. 安装 Spacemacs]]
        • [[#windows-用户注意事项][Windows 用户注意事项]]
      • [[#4-安装默认字体][4. 安装默认字体]]
      • [[#5-打开-spacemacs-并选择默认编辑风格][5. 打开 Spacemacs 并选择默认编辑风格]]
    • [[#入门][入门]]
      • [[#键绑定符号][键绑定符号]]
      • [[#模式化文本编辑—-为什么这样做和如何做][模式化文本编辑 - 为什么这样做和如何做?]]
      • [[#启动-vim-教程][启动 Vim 教程]]
      • [[#使用空格键启动命令][使用空格键启动命令]]
      • [[#缓冲区窗口和页面][缓冲区,窗口和页面]]
      • [[#访问文件][访问文件]]
    • [[#配置-spacemacs][配置 Spacemacs]]
      • [[#添加语言支持和其他功能使用层][添加语言支持和其他功能:使用层]]
      • [[#更改颜色主题][更改颜色主题]]
      • [[#开始最大化][开始最大化]]
      • [[#退出][退出]]
    • [[#附加功能提示和故障排除][附加功能,提示和故障排除]]
      • [[#org-mode][Org mode]]
      • [[#版本控制—-智能化方式][版本控制 - 智能化方式]]
      • [[#守护进程模式和即时启动 linux][守护进程模式和即时启动(Linux)]]
      • [[#在键盘上交换-caps-lock-和-esc-键][在键盘上交换 caps lock 和 esc 键]]
      • [[#故障排除和更多信息][故障排除和更多信息]]
  • 为什么要用 Spacemacs?

  • 无与伦比的文字和结构编辑,适用于所有类型的写作任务:创意写作,博客,笔记记录,待办事项清单,科学论文…
  • 数十种编程语言的强大的编程模式
  • 深度定制,但对初学者友好
  • 安装 Spacemacs 是一个对初学者友好的,有强大的扩展的,受欢迎的,叫做 Emacs 的文本编辑器。要安装 Spacemacs,您需要首先安装基础 Emacs,然后下载 Spacemacs 扩展文件,这最容易通过使用名为 Git 的程序完成。 这些步骤很容易,并在下面概述。

** 1. [[https://github.com/syl20bnr/spacemacs#prerequisites][安装 EMACS]]

** 2. [[https://git-scm.com/downloads][安装 Git]]

** 3. 安装 Spacemacs 打开终端或命令提示符,粘贴以下代码:

  1. git clone /github.com/syl20bnr/spacemacs ~/.emacs.d

按 Enter 键执行代码,在上一步安装的程序,Git,将下载 Spacemacs 扩展文件。

* Windows 用户注意事项 如果您使用 Windows,则必须通过将正确的路径插入.emacs.d 文件夹来修改 git 命令。文件夹之前的点意味着它被隐藏,所以你必须搜索隐藏的文件来找到文件夹。找到该文件夹后,用正确的路径替换原始路径。 正确的代码看起来像这样:

  1. git clone /github.com/syl20bnr/spacemacs /path/to/your/.emacs.d

** 4. 安装默认字体 Spacemacs 使用的默认字体是 Adobe 的 Source Code Pro。建议将其 [[https://github.com/adobe-fonts/source-code-pro#font-installation-instructions][安装]] 在系统上,以确保正确的视觉表示。建议在状态栏中使用更好看的符号(底部栏)的“后备字体”。这些依赖于系统:

  • gnu/linux: Nanum
  • MacOS: Arial Unicode MS
  • Windows: MS Gothic or Lucida Sans Unicode

如果状态栏看起来不如图片那么好,请确保您的系统上安装了正确的后备字体 。

** 5. 打开 Spacemacs 并选择默认编辑风格 通过单击应用程序菜单中的 Emacs 图标打开 Spacemacs。Spacemacs 第一次启动,它将加载和安装软件包,并提示您选择您喜欢的编辑风格。你有两个选择:Vim(“邪恶的旗舰之星”)和 Emacs。如果您以前没有使用 Emacs,或者不确定编辑风格的差异,建议您按 Enter 键选择默认值 Vim。在下一节中将更详细地介绍使用此配置。如果您已经熟悉 Emacs 或者不打算切换到模式编辑风格,请使用左右箭头键选择 Emacs。还有第三个选项“混合”,对于更多的高级用户,愿意使用这两种风格。所有这些选择都可以通过编辑 dotfile 中的 dotspacemacs-editing-style 变量(请参阅 [[#configuring-spacemacs][配置 Spacemacs]])稍后更改,因此,如果模式编辑不会把你裹挟而去,则可以稍后切换到 Emacs 样式。

接下来,系统将提示您输入您要开始的分发。建议使用标准配置,按回车键选择。

现在 Spacemacs 将下载并安装所需的软件包。这将需要几分钟,具体取决于您的连接。安装完所有内容(您将看到文本 “n packages loaded in x s” 出现在 Spacemacs 徽标下的列表中),重新启动 Spacemacs。

现在您的安装过程已经完成,恭喜! 有关故障排除,请参阅最后一节。

  • 入门 ** 键绑定符号 Spacemacs 的强大力量在于其高效的键绑定。因为它是建立在 Emacs 上的,所以我们将使用 Emacs 约定来实现键绑定符号。最重要的修饰键是:

~SPC~ = ~Space~, 用作 Vim 编辑风格的前缀键 ~C-~ = ~Ctrl~ ~M-~ (for “meta”) = ~Alt~ ~S-~ = ~Shift~

修饰键可以通过在序列中或作为组合键同时按两个键使用。 ~SPC 1~ 是按键顺序的符号,表示先按 ~空格键~ ,然后按 ~1~ 。组合键通过在键之间写一个 ~-~ 符号来表示。因此 ~C-c~ 意味着同时按下 ~Ctrl~ 和字母 ~c~ 。组合键和键序列也可以组合: ~C-c a~ 表示“首先同时按下 ~Ctrl~ 和 ~c~ ,然后按 ~a~ ”。 ~C-c C-a~ 表示“首先同时按下 ~Ctrl~ 和 ~c~ ,然后同时按 ~Ctrl~ 和 ~a~ ”。

本文档假定您选择了“Vim”编辑风格,并据此说明。如果您选择了 Emacs 编辑风格,那么只需在 ~SPC~ 开始的所有命令中用 ~M-m~ 替换 ~SPC~ 。

(注意:可以设置其他修饰键,例如 Super,以小写 ~s-~ 表示,但这在 Spacemacs 中很少需要)。

** 模式化文本编辑 - 为什么这样做和如何做? 写作(或编程)通常不是添加单词和行直到完成的简单线性过程。至少任务的重要组成部分是编辑文本:删除和重写部分,移动句子或跳到较早的一点来修正差异。

例如,要删除一行,最简单的方法是,将鼠标移动到相关行,单击该行,然后多次按退格键删除它。 这是缓慢而低效的,因为你必须把手从键盘上拿走,因为多次按退格键需要时间。 你花费在按键上的时间越多,浪费的时间和精力就越多。

为了加快编辑速度,许多编辑者使用组合键进行普通编辑任务: ~Control-c~ 进行复制等。 但是,这些类型的快捷方式往往有两个问题。 首先,您必须同时按两个键,这是比较难以协调的,因此比按序列中的按键慢。 第二,您往往必须经常使用最弱的手指(小指),并将手腕弯曲成不符合人体工程学的位置,这对于许多人来说是不舒服的,并且从长期来看存在着发展为腕管综合征的风险。

相比之下,Spacemacs 使用模式化编辑。 模态编辑意味着用不同的模式来编辑和写入文本。 虽然这乍一听很复杂,但在实践中,它可以被快速学习,而且一旦学到了,在速度和人体工程学方面是无与伦比的。 我们之前的删除某一行文本(一个非常常见的编辑任务)的例子可以在 Spacemacs 中通过简单地导航到所涉及的关键字 j 和 k(导航键)并两次按 d(对于“删除”)来实现!

您可能已经注意到,这完全没有从家庭行(在打字时,手指在休息时的行)移动您的手指,不使用修饰键。

** 启动 Vim 教程 Spacemacs 的模式化编辑功能源自一个名为 Vi 的文本编辑器,因此模式化编辑教程被称为 eVIl 教程。按 ~SPC h T~ (即空格键,然后是 ~h~ 和 ~T~ ),以熟悉模式化编辑。

** 使用空格键启动命令 现在你熟悉编写和编辑文本,那么是时候把“空格键”放入 Spacemacs 了。 因为空格键是键盘上最容易摸到的键,而且是被最强的手指(拇指)按下,所以它是启动命令的天然的选择。 您可以将其视为 Spacemacs 的开始菜单。

按空格键,一个短暂的瞬间后,弹出一个菜单。 此交互式菜单显示后续按键可以访问哪些子菜单和命令。 浏览这个菜单是在 Spacemacs 中找到新功能的好方法,所以请留意不同的选项! ~ESC~ 通常中断您不想使用的组合。

** 缓冲区,窗口和页面 因为 Emacs(Spacemacs 所扩展的那个)是在现代图形用户界面出现之前的 80 年代开发的,所以 Emacs 具有与我们通常称为“windows(窗口)”不同的名称:在 Emacs 中,这些称为“frames(页面)”。 当您从桌面快捷方式启动 Spacemacs 时,会弹出一个页面。 一个页面包含窗口和缓冲区。

窗口是一个页面分成的视觉空间。 窗口默认为一个,但可以被拆分,以允许在一个页面中编辑多个文件。 我们来试试看吧。 按 ~SPC~ 调出菜单。 你可以看到不同的字母有关联的不同的子菜单,为了更容易回忆通常用助记符。 字母 w 被分配给“windows(窗口)”:按下它, 将打开一个有更多选项的新菜单。 输入字符/将当前活动的窗口垂直地分割成两个。

现在您应该看到本教程的两个窗口,左侧的窗口应该处于活动状态,从底部的状态栏或者使用导航键移动光标可以看出来。 这不是很有用,因为我们可能想要在右边看到一个不同的文件。

首先,使用 ~SPC 2~ 激活右侧的窗口。现在右侧的窗口处于活动状态,我们可以为一个不同的文件打开一个不同的缓冲区。 我们将使用临时缓冲区,它可以像记事本一样使用。 请注意,与其他缓冲区不同,它不会在退出程序时提示您是否要保存所做的更改! 按 ~SPC b~ 打开缓冲区菜单,然后按 s 切换到临时(scratch)缓冲区。现在你有两个不同的缓冲区在两个不同的窗口打开,太好了! 您可以在临时缓冲区上写一些东西,完成后,确保暂存窗口处于活动状态,然后按 ~SPC w d~ 关闭它。

现在教程窗口填满整个页面。 但是因为你只关闭窗口,而不是临时缓冲区,所以缓冲区仍然在界面下打开。 您可以使用 ~SPC TAB~ 在当前缓冲区和上一个缓冲区之间快速切换:在教程和临时缓冲区之间切换几次。 ~SPC b~ 有更多的选项用于在缓冲区之间切换,例如 ~SPC b b~ 打开所有当前打开的缓冲区的可搜索列表,并且 ~SPC b d~ 关闭当前缓冲区。

** 访问文件 可以在 ~SPC f~ 助记符下访问文件。您可以导航到具有 ~SPC f f~ 的任何文件,然后按 Enter 键打开它。访问最近打开的文件是一个非常常见的任务,使用 ~SPC f r~ 完成。使用 ~SPC f s~ 保存编辑过的文件。

  • 配置 Spacemacs :PROPERTIES: :CUSTOM_ID: configuring-spacemacs :END: ** 添加语言支持和其他功能:使用层 Spacemacs 将其配置划分为称为配置层的独立单元。这些层堆叠在彼此的顶部以实现定制配置。

默认情况下,Spacemacs 使用名为 ~/.spacemacs~ 的点文件来控制要加载的层。 在此文件中,您还可以配置某些功能。 首先,垂直分割窗口以同时查看本教程和点文件( ~SPC w /~ )。 按 ~SPC f e d~ 键打开点文件。 导航到以“dotspacemacs-configuration-layers”开始的行。 以下行有进一步的说明:如果您想要熟悉它们,请取消注释 org 和 git 层。 可以在 [[https://github.com/syl20bnr/spacemacs/tree/master/layers][github ]]上或通过按 ~SPC h SPC~ 找到更多不同语言和工具的图层。 添加的层将在重新启动 Spacemacs 时安装。

Mac 用户:添加 osx 层以使用 OS X 键绑定!

** 更改颜色主题 您可以通过 ~SPC T n~ 切换主题。这在当前激活的主题之间循环。您可以通过添加 themes-megapack 层找到更多内容,并通过在 dotspacemacs-themes 列表中写入它们的名字来激活它们。

** 开始最大化 将 dotspacemacs-maximized-at-startup 变量从 nil 编辑为 t 将以最大化形式启动 Spacemacs。

** 退出 使用 ~SPC f s~ 保存对点文件的更改,然后通过 ~SPC q q~ 退出 emacs。您可以通过在主屏幕上单击来返回本教程!

  • 附加功能,提示和故障排除 ** Org mode Org mode(组织模式)是 Spacemacs 的最佳功能之一,有足够的理由保证其使用。Org mode 的官方描述表明,“使用快速有效的纯文本系统来保存笔记,维护待办事项列表,规划项目和创作文档”,但这仅仅是其多功能性的一小部分。 如果你做任何一种写作,有机会用 Org mode 将使它更容易和更有趣。 本教程是用 Org mode 编写的。

安装 Org 层并打开本教程。 反复按 ~S-TAB~ ,并观察到这会循环显示不同标题的内容。 在正常模式下按 t,观察到您可以在标题上添加 TODO 标签。 在正常模式下按 ~M-k~ 或 ~M-j~ ,看看如何快速移动文档的一部分。

这甚至不会涉及 Org mode 的表面,因此您应该查看其[[https://github.com/syl20bnr/spacemacs/blob/master/layers/%252Bemacs/org/README.org][文档 ]]以获取更多信息。 谷歌搜索 Org mode 教程也非常有助于找出最有用的功能!

** 版本控制 - 智能化方式 版本控制意味着跟踪您对文档所做的更改和编辑。 通常,通过使用不同的名称保存不同版本的文档(例如“文档版本 13”等)来完成版本控制。 这在很多方面是粗糙的:例如,如果要重新添加删除的内容,则必须手动打开多个过去的文档版本,以找到具有已删除部分的文档,然后将其复制粘贴到最近的文件。 更复杂的编辑将更难。幸运的是,有一个更好的方法。Git 是最受程序员欢迎的版本控制系统,但它也可以用于写作学校或科学论文,小说或博客文章的人。

安装 git 层,重启 Spacemacs 并打开要进行版本控制的文件。 您可以通过按 ~SPC g s~ 检查文件的状态。选择文件所在的文件夹。系统将提示您是否要在文件夹中创建存储库。 选择是。 您将看到“未跟踪文件”的列表:导航到要跟踪的文件,然后按 s 进行“暂存更改”。 可能会提示您保存文件:必要时保存。 现在需要提交新的文件:按 c 两次。 弹出两个窗口:一个显示自上次编辑以来所做的更改(在本例中为整个文档),另一个显示提交信息。 写“初始提交”,按 ESC 退出正常模式,按 ~, c~ 确认并退出提交信息。 要放弃,按 ~, a~ 。

现在你知道如何提交。提交保存在跟踪文件所在的同一文件夹中的(隐藏).git 文件夹中。您可以以相同的方式进一步提交。

** 守护进程模式和即时启动(Linux) Emacs 可以在守护进程模式下使用:守护程序在后台运行并启动客户端。这样新的页面立即启动,没有延迟。[[https://www.emacswiki.org/emacs/EmacsAsDaemon][Emacswiki]] 提供更多关于守护进程,以及如何将其设置为在启动时自动启动的信息。

** 在键盘上交换 caps lock 和 esc 键 这在 Spacemacs 之外也很有用!

** 故障排除和更多信息 ~SPC ?~ 显示当前主模式的键绑定,这通常是有帮助的。 有关故障排除,请通过按 ~SPC f e f~ 或 [[https://github.com/syl20bnr/spacemacs/blob/master/doc/FAQ.org][联机方式]] 来参考常见问题(FAQ)。 在 ~SPC h~ 下找到更多帮助, ~SPC h SPC~ 可以访问全面的 Spacemacs 文档,包括本教程和层文档。

如果在文档中找不到答案, [[https://gitter.im/syl20bnr/spacemacs][Gitter 聊天室]]可以用来提问。 有关 Spacemacs 功能的详细回顾,还可以在 YouTube 上观看 Eivind Fonn 的 [[https://www.youtube.com/playlist?list=PLrJ2YN5y27KLhd3yNs2dR8_inqtEiEweE][Spacemacs ABC 系列]]。 自上传视频以来,一些键绑定已经改变,但看到有人操作有助于找出的有用的技巧,否则会被遗漏。