diff --git a/.gitignore b/.gitignore
index 4d6ce87..94a48f0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
_book/
mdbook/
+book/
-.DS_Store
\ No newline at end of file
+.DS_Store
diff --git a/src/appendix-01-keywords.md b/src/appendix-01-keywords.md
index 0fa1a6c..af4427b 100644
--- a/src/appendix-01-keywords.md
+++ b/src/appendix-01-keywords.md
@@ -2,10 +2,11 @@
> [appendix-01-keywords.md](https://github.com/rust-lang/book/blob/master/second-edition/src/appendix-01-keywords.md)
>
-> commit 60f22d98fe8ee0ce04824a8536a95f12ba118027
+> commit 32215c1d96c9046c0b553a05fa5ec3ede2e125c3
下面的列表中是Rust正在使用或者以后会用关键字。因此,这些关键字不能被用作标识符,例如
-函数名、变量名、参数名、结构体、模块名、crates名、常量名、宏名、静态值的名字。
+函数、变量、参数、结构体、模块、crate、常量、宏、静态值、属性、类型、trait 或生命周期
+的名字。
### 目前正在使用的关键字
@@ -39,12 +40,14 @@
* `super` - 表示当前模块的父模块
* `trait` - 定义一个 **trait**
* `true` - 布尔值 `true`
-* `type` - 定义一个类型别名或相关连的类型
+* `type` - 定义一个类型别名或相关联的类型
* `unsafe` - 表示不安全的代码、函数、**traits** 或者方法实现
* `use` - 引入外部空间的符号
-* `where` - 表示一个类型约束 [\[For example\]](ch13-01-closures.html#使用带有泛型和-fn-trait-的闭包)
+* `where` - 表示一个类型约束 [\[For example\]][ch13-01]
* `while` - 基于一个表达式的结果判断是否进行循环
+[ch13-01]: ch13-01-closures.html#使用带有泛型和-fn-trait-的闭包
+
### 未使用的保留字
-这些关键字没有目前任何功能,但是它们是Rust未来会使用的保留字。
+这些关键字没有目前任何功能,但是它们是 Rust 未来会使用的保留字。
* `abstract`
* `alignof`
@@ -75,4 +78,4 @@ though. Please let me know if any still seem inconsistent /Carol -->
* `typeof`
* `unsized`
* `virtual`
-* `yield`
\ No newline at end of file
+* `yield`
diff --git a/src/appendix-02-operators.md b/src/appendix-02-operators.md
index 713b731..685d5f6 100644
--- a/src/appendix-02-operators.md
+++ b/src/appendix-02-operators.md
@@ -1,11 +1,13 @@
-# B - 运算符与符号
-> [appendix-02-operators.md](https://github.com/rust-lang/book/blob/master/2018-edition/src/appendix-02-operators.md)
+## B - 运算符与符号
+> [appendix-02-operators.md](https://github.com/rust-lang/book/blob/master/second-edition/src/appendix-02-operators.md)
>
-> commit [c3e81dfc199b3d27d43164df3d4d5b898fc69740](https://github.com/rust-lang/book/commit/c3e81dfc199b3d27d43164df3d4d5b898fc69740)
+> commit d50521fc08e51892cdf1edf5e35f3847a42f9432
+
+[commit]: https://github.com/rust-lang/book/commit/d50521fc08e51892cdf1edf5e35f3847a42f9432
该附录包含了 Rust 语法的词汇表,包括运算符以及其他的符号,这些符号以其自身或者在路径、泛型、trait bounds、宏、属性、注释、元组以及大括号的上下文中出现。
-## 运算符
+### 运算符
表B-1包含了 Rust 中的运算符、运算符如何出现在上下文中的示例、简短解释以及该运算符是否可重载。如果一个运算符是可重载的,则该运算符上用于重载的相关 trait 也会列出。
diff --git a/src/appendix-03-derivable-traits.md b/src/appendix-03-derivable-traits.md
index 1ca1fc1..c2db783 100644
--- a/src/appendix-03-derivable-traits.md
+++ b/src/appendix-03-derivable-traits.md
@@ -4,7 +4,8 @@
>
> commit 32215c1d96c9046c0b553a05fa5ec3ede2e125c3
-[appendix-03]: https://github.com/rust-lang/book/blob/master/2018-edition/src/appendix-03-derivable-traits.md
+[appendix-03]: https://github.com/rust-lang/book/blob/master/second-edition/src/appendix-03-derivable-traits.md
+[commit]: https://github.com/rust-lang/book/commit/32215c1d96c9046c0b553a05fa5ec3ede2e125c3
在本书的各个部分中,我们讨论了可应用于结构体和枚举的 `derive` 属性。`derive` 属性生成的代码在使用 `derive` 语法注释的类型之上实现了带有默认实现的 trait 。
@@ -13,7 +14,6 @@
* 该 trait 将会派生什么样的操作符和方法
* 由 `derive` 提供什么样的 trait 实现
* 由什么来实现类型的 trait
-* What implementing the trait signifies about the type
* 是否允许实现该 trait 的条件
* 需要 trait 操作的例子
diff --git a/src/appendix-04-macros.md b/src/appendix-04-macros.md
index 8129451..b1780b5 100644
--- a/src/appendix-04-macros.md
+++ b/src/appendix-04-macros.md
@@ -1 +1 @@
-# D - 宏
+## D - 宏
diff --git a/src/appendix-05-translation.md b/src/appendix-05-translation.md
index f59f546..71a0023 100644
--- a/src/appendix-05-translation.md
+++ b/src/appendix-05-translation.md
@@ -1 +1 @@
-# E - 本书翻译
+## E - 本书翻译
diff --git a/src/appendix-06-newest-features.md b/src/appendix-06-newest-features.md
index 25f6b45..0568b72 100644
--- a/src/appendix-06-newest-features.md
+++ b/src/appendix-06-newest-features.md
@@ -1 +1 @@
-# F - 最新功能
+## F - 最新功能
diff --git a/src/appendix-07-nightly-rust.md b/src/appendix-07-nightly-rust.md
index abd9978..39b5963 100644
--- a/src/appendix-07-nightly-rust.md
+++ b/src/appendix-07-nightly-rust.md
@@ -1 +1 @@
-# G - Rust 是如何开发的与 “Nightly Rust”
+## G - Rust 是如何开发的与 “Nightly Rust”
diff --git a/src/foreword.md b/src/foreword.md
index 514bd60..3370fa4 100644
--- a/src/foreword.md
+++ b/src/foreword.md
@@ -12,8 +12,8 @@ Rust 打破了这些障碍,其消除了旧的缺陷并提供了伴你一路同
已经在从事编写底层代码的程序员可以使用 Rust 来提升抱负。例如,在 Rust 中引入并行是相对较为低风险的操作:编译器会为你捕获经典的错误。同时你可以自信的采取更为激进的优化,而不会意外引入崩溃或漏洞。
-另一方面 Rust 并不局限于底层系统编程。其表现力与工程学足以愉快的编写 CLI 应用、web server 和很多其他类型的代码 —— 在本书之后你会找到所有这些场景的简单示例。使用 Rust 你学习的技能可以从一个领域延伸到另一个领域;你可以学习 Rust 来编写 web 应用,接着将同样的技能应用到你的 Raspberry Pi 上。
+另一方面 Rust 并不局限于底层系统编程。其表现力与工程学足以愉快的编写 CLI 应用、web server 和很多其他类型的代码 —— 在本书之后你会找到所有这些场景的简单示例。使用 Rust 你学习的技能可以从一个领域延伸到另一个领域;你可以学习 Rust 来编写 web 应用,接着将同样的技能应用到你的 Raspberry Pi(树莓派)上。
本书全面拥抱 Rust 授权于用户的潜力。其内容平易近人,致力于帮助你不仅仅提升 Rust 的知识,并且提升你作为程序员整体的理解与自信。那么让我们准备好深入学习 Rust吧(打开新世界的大门 :)) —— 欢迎加入 Rust 社区!
-— Nicholas Matsakis 和 Aaron Turon
\ No newline at end of file
+— Nicholas Matsakis 和 Aaron Turon