From afb007d74aad64151c3de22d20e8b8e1c31f2182 Mon Sep 17 00:00:00 2001 From: Galway Chain <50473705+chaingangway@users.noreply.github.com> Date: Mon, 30 Mar 2020 10:05:03 +0800 Subject: [PATCH 01/11] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ate-a-line-chart-in-swiftui-using-paths.md | 69 ++++++++++--------- 1 file changed, 37 insertions(+), 32 deletions(-) diff --git a/TODO1/create-a-line-chart-in-swiftui-using-paths.md b/TODO1/create-a-line-chart-in-swiftui-using-paths.md index 9db7c41812a..1b1036915af 100644 --- a/TODO1/create-a-line-chart-in-swiftui-using-paths.md +++ b/TODO1/create-a-line-chart-in-swiftui-using-paths.md @@ -2,36 +2,37 @@ > * 原文作者:[Anupam Chugh](https://medium.com/@anupamchugh) > * 译文出自:[掘金翻译计划](https://github.com/xitu/gold-miner) > * 本文永久链接:[https://github.com/xitu/gold-miner/blob/master/TODO1/create-a-line-chart-in-swiftui-using-paths.md](https://github.com/xitu/gold-miner/blob/master/TODO1/create-a-line-chart-in-swiftui-using-paths.md) -> * 译者: +> * 译者:[chaingangway](https://github.com/chaingangway) > * 校对者: # Create a Line Chart in SwiftUI Using Paths -> Create beautiful stock charts in your iOS application +> 在iOS程序中创建美观的股票图表 ![Photo by [Chris Liverani](https://unsplash.com/@chrisliverani?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com?utm_source=medium&utm_medium=referral).](https://cdn-images-1.medium.com/max/8064/0*eZh1HfzXfAjD_9ME) -Introduced at WWDC 2019, the SwiftUI framework gave the iOS community a lot to cheer about. An easy-to-use, declarative API written in Swift lets developers quickly build UI prototypes. +SwiftUI 框架在2019年的 WWDC 大会引入后,给了 iOS 社区很多欢呼的理由。一种用 Swift 语言编写,易用的、声明式的 API 让开发者可以快速构建 UI 原型。 -While we can leverage the Shapes protocol to build [Bar Charts](https://medium.com/better-programming/swiftui-bar-charts-274e9fbc8030) from the ground up, the same cannot be said about Line Charts. Thankfully, we’ve got the `Paths` structure to help us with that. +虽然我们能用 Shapes 协议从头开始构建 [条形图](https://medium.com/better-programming/swiftui-bar-charts-274e9fbc8030),但是构建折线图就不一样了。幸运的是,我们有 `Paths` 这个结构体来帮助我们。 -Using SwiftUI paths, which are similar to `CGPaths` from the Core Graphics framework, we can combine lines and curves to build beautiful logos and shapes. +使用 SwiftUI 中的 paths,跟 Core Graphics 框架中的 `CGPaths` 类似,我们可以把线条与曲线结合,来构建美观的标志和形状。 -Being true to the declarative way of writing UI, SwiftUI paths are built with a set of instructions. In the next few sections, we’ll discuss what that means. +SwiftUI 中的 paths 是用一套指令编写的,是真正用声明式的方式来写 UI。在下面的几节中,我们将会讨论它的意义。 -## Our Goal -* Exploring SwiftUI’s Path API and creating simple shapes out of it. -* Using Combine and URLSession to fetch the historical stock data. We’ll be using [Alpha Vantage](https://www.alphavantage.co/)’s API to retrieve the stock information. -* Creating a Line Chart in SwiftUI that displays the stock’s prices over time. +## 我们的目标 +* 探索 SwiftUI 的 Path API,通过它来创建简单的模型。 +* 用 Combine 和 URLSession 来获取历史股票数据。我们将会用 [Alpha Vantage](https://www.alphavantage.co/) 的 API 来取得股票信息。 +* 在 SwiftUI 中创建折线图,来展示根据时间变化的股票价格。 + +读完本文后,你应该能够开发与下面类似的 iOS 程序。 -By the end of this article, you should be able to create an iOS application similar to the one below: ![An NSE India and two US-based stock charts.](https://cdn-images-1.medium.com/max/2000/1*0_IPSWXsxHgGDRk51CAPbw.png) -## Create a Simple SwiftUI Path +## 创建一个简单的 Swift Path -Here’s an example of creating a right-angled triangle using paths in SwiftUI: +下面的例子,是通过在 SwiftUI 中使用 paths 来创建直角三角形: ```Swift var body: some View { @@ -42,22 +43,26 @@ path.addLine(to: CGPoint(x: 300, y: 300)) }.fill(Color.green) } ``` +Path API 有很多函数。`move` 是负责设置路径的起点。`addline` 是负责向特定的目标点,画一条直线。 -The Path API consists of a bunch of functions. `move` is responsible for setting the starting point of the path. `addLine` is responsible for drawing a straight line to the destination point specified. +`addArc`, `addCurve`, `addQuadCurve`, `addRect` 和 `addEllipse` 仅仅是一些其他的方法,它们可以让我们创建圆弧或者贝塞尔曲线。 -`addArc`, `addCurve`, `addQuadCurve`, `addRect`, and `addEllipse` are just a few other methods that let us create circular arcs or Bezier curves among many other things with paths. +用 `addPath` 可以添加两条或者多条路径。 -Appending two or more paths is possible using `addPath`. +下面的插图展示了一个三角形,后面跟着一个圆饼图。 -The following illustration shows a triangle followed by a circular pie: ![](https://cdn-images-1.medium.com/max/2186/1*8XNc1miVjNhzzDCYW44p8g.png) -Now that we’ve got an idea of how to create paths in SwiftUI, let’s jump to Line Charts in SwiftUI. +既然我们已经了解怎样在 SwiftUI 中创建 paths,赶紧来看看 SwiftUI 中的折线图。 + + + +## SwiftUI 折线图 + +下面给出的模型,是用来解析 API 响应返回的 JSON。 -## SwiftUI Line Chart -The model to decode the JSON response from the API is given below: ```Swift struct StockPrice : Codable{ @@ -90,7 +95,8 @@ struct StocksDaily : Codable { } ``` -Let’s create an `ObservableObject` class. We’ll perform the API requests using the URLSession’s Combine Publisher and transform the results using the Combine operators. +创建一个 `ObservableObject` 类。我们用 URLSession 中的 Combine Publisher 来处理 API 请求,然后用 Combine 操作来转换结果。 + ```Swift class Stocks : ObservableObject{ @@ -156,9 +162,9 @@ extension String { } ``` -The API results consist of nested JSON with the key being the dates. These are unordered in the dictionary and we need to sort them. For that, we’ve declared an extension that converts the string to date and does a comparison in the `sort` function. +API 结果中包含用日期作为 key 的内置 JSON。它们在字典中无序的,需要进行排序。因此,我们声明了一个把字符串转换为日期的扩展,然后在 `sort` 函数中进行比较。 -Now that we’ve got the prices and stock data in the `Published` properties, we need to pass them to the `LineView` — a custom SwiftUI view that we will see next: +既然已经在 `Published` 属性中获得了价格和股票数据,我们需要将它们传递给 `LineView` — 下面我们将会看到的一个自定义的 SwiftUI 视图: ```Swift struct LineView: View { @@ -210,8 +216,7 @@ struct LineView: View { } ``` -The view above gets invoked from our SwiftUI ContentView, where the name, price, and an array of price history are passed. Using the GeometryReader, we’ll pass the width and height of the frame to the `Line` struct, where we’ll eventually join the points using SwiftUI paths: - +上面的视图从 SwiftUI 中的 ContentView 唤起,传入了姓名、价格和历史价格的数组。使用 GeometryReader,我们要向 `Line` 结构中的 frame 传入宽和高,这里我们最终会用 SwiftUI 的路径来连接这些点: ```Swift struct Line: View { var data: [(Double)] @@ -264,7 +269,7 @@ struct Line: View { } ``` -`stepWidth` and `stepHeight` are computed for constraining the chart within a given width and height of the frame. They’re then passed to the extension function of the `Path` struct to create the line chart: +计算 `stepWidth` 和 `stepHeight` 是用来在给定 frame 的宽和高的情况下,对图表进行约束。然后,把它们传递给 `Path` 结构体扩展函数,用来创建折线图: ```Swift extension Path { @@ -286,19 +291,19 @@ extension Path { } ``` -Finally, the SwiftUI application displaying the stocks chart in action is ready. The following illustration showcases that: +最后,展示股票折线图的 SwiftUI 程序就绪了。下面的插图进行了展示: ![](https://cdn-images-1.medium.com/max/2186/1*51q3BlLa-XLLKtHn-mgTOA.png) -## Conclusion +## 总结 -In this article, we managed to bring together SwiftUI and Combine once again — this time for fetching stock prices and displaying them in a Line Chart. Knowing the intricacies of SwiftUI paths is a good starting point for working with SwiftUI shapes, which require you to implement the `path` function. +本文中,我们再次将 SwiftUI 和 Combine 成功结合 — 这次是抓取股票价格数据,然后在折线图中展示。通过了解 SwiftUI 中 paths 的错综复杂,实现 `path` 方法,来使用 SwiftUI 中的图形来工作,是一个好的开始。 -You can take the SwiftUI Line Charts above a step further by using gestures to highlight the points and their respective values. To know how to do that and more, refer [to this repository](https://github.com/AppPear/ChartView). +你可以使用手势对点和相应的值进行高亮处理,来进一步了解上文中的 SwiftUI 折线图。想知道怎样实现和更多资料,请参照 [这个仓库](https://github.com/AppPear/ChartView)。 -The full source code of the application above is available in the [GitHub repository](https://github.com/anupamchugh/iowncode/tree/master/SwiftUILineChart). +上文程序中的全部源码都在这个 [GitHub 仓库](https://github.com/anupamchugh/iowncode/tree/master/SwiftUILineChart). -That’s it for this one. Thanks for reading. +文章结束了。感谢阅读。 > 如果发现译文存在错误或其他需要改进的地方,欢迎到 [掘金翻译计划](https://github.com/xitu/gold-miner) 对译文进行修改并 PR,也可获得相应奖励积分。文章开头的 **本文永久链接** 即为本文在 GitHub 上的 MarkDown 链接。 From a261e82130e6cd83a5fe0af112b6c8e9daba86ed Mon Sep 17 00:00:00 2001 From: chaingangway Date: Mon, 30 Mar 2020 10:11:39 +0800 Subject: [PATCH 02/11] =?UTF-8?q?Revert=20"=E6=9B=B4=E6=96=B0=E6=B5=8B?= =?UTF-8?q?=E8=AF=95"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit afb007d74aad64151c3de22d20e8b8e1c31f2182. --- ...ate-a-line-chart-in-swiftui-using-paths.md | 69 +++++++++---------- 1 file changed, 32 insertions(+), 37 deletions(-) diff --git a/TODO1/create-a-line-chart-in-swiftui-using-paths.md b/TODO1/create-a-line-chart-in-swiftui-using-paths.md index 1b1036915af..9db7c41812a 100644 --- a/TODO1/create-a-line-chart-in-swiftui-using-paths.md +++ b/TODO1/create-a-line-chart-in-swiftui-using-paths.md @@ -2,37 +2,36 @@ > * 原文作者:[Anupam Chugh](https://medium.com/@anupamchugh) > * 译文出自:[掘金翻译计划](https://github.com/xitu/gold-miner) > * 本文永久链接:[https://github.com/xitu/gold-miner/blob/master/TODO1/create-a-line-chart-in-swiftui-using-paths.md](https://github.com/xitu/gold-miner/blob/master/TODO1/create-a-line-chart-in-swiftui-using-paths.md) -> * 译者:[chaingangway](https://github.com/chaingangway) +> * 译者: > * 校对者: # Create a Line Chart in SwiftUI Using Paths -> 在iOS程序中创建美观的股票图表 +> Create beautiful stock charts in your iOS application ![Photo by [Chris Liverani](https://unsplash.com/@chrisliverani?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com?utm_source=medium&utm_medium=referral).](https://cdn-images-1.medium.com/max/8064/0*eZh1HfzXfAjD_9ME) -SwiftUI 框架在2019年的 WWDC 大会引入后,给了 iOS 社区很多欢呼的理由。一种用 Swift 语言编写,易用的、声明式的 API 让开发者可以快速构建 UI 原型。 +Introduced at WWDC 2019, the SwiftUI framework gave the iOS community a lot to cheer about. An easy-to-use, declarative API written in Swift lets developers quickly build UI prototypes. -虽然我们能用 Shapes 协议从头开始构建 [条形图](https://medium.com/better-programming/swiftui-bar-charts-274e9fbc8030),但是构建折线图就不一样了。幸运的是,我们有 `Paths` 这个结构体来帮助我们。 +While we can leverage the Shapes protocol to build [Bar Charts](https://medium.com/better-programming/swiftui-bar-charts-274e9fbc8030) from the ground up, the same cannot be said about Line Charts. Thankfully, we’ve got the `Paths` structure to help us with that. -使用 SwiftUI 中的 paths,跟 Core Graphics 框架中的 `CGPaths` 类似,我们可以把线条与曲线结合,来构建美观的标志和形状。 +Using SwiftUI paths, which are similar to `CGPaths` from the Core Graphics framework, we can combine lines and curves to build beautiful logos and shapes. -SwiftUI 中的 paths 是用一套指令编写的,是真正用声明式的方式来写 UI。在下面的几节中,我们将会讨论它的意义。 +Being true to the declarative way of writing UI, SwiftUI paths are built with a set of instructions. In the next few sections, we’ll discuss what that means. +## Our Goal -## 我们的目标 -* 探索 SwiftUI 的 Path API,通过它来创建简单的模型。 -* 用 Combine 和 URLSession 来获取历史股票数据。我们将会用 [Alpha Vantage](https://www.alphavantage.co/) 的 API 来取得股票信息。 -* 在 SwiftUI 中创建折线图,来展示根据时间变化的股票价格。 - -读完本文后,你应该能够开发与下面类似的 iOS 程序。 +* Exploring SwiftUI’s Path API and creating simple shapes out of it. +* Using Combine and URLSession to fetch the historical stock data. We’ll be using [Alpha Vantage](https://www.alphavantage.co/)’s API to retrieve the stock information. +* Creating a Line Chart in SwiftUI that displays the stock’s prices over time. +By the end of this article, you should be able to create an iOS application similar to the one below: ![An NSE India and two US-based stock charts.](https://cdn-images-1.medium.com/max/2000/1*0_IPSWXsxHgGDRk51CAPbw.png) -## 创建一个简单的 Swift Path +## Create a Simple SwiftUI Path -下面的例子,是通过在 SwiftUI 中使用 paths 来创建直角三角形: +Here’s an example of creating a right-angled triangle using paths in SwiftUI: ```Swift var body: some View { @@ -43,26 +42,22 @@ path.addLine(to: CGPoint(x: 300, y: 300)) }.fill(Color.green) } ``` -Path API 有很多函数。`move` 是负责设置路径的起点。`addline` 是负责向特定的目标点,画一条直线。 -`addArc`, `addCurve`, `addQuadCurve`, `addRect` 和 `addEllipse` 仅仅是一些其他的方法,它们可以让我们创建圆弧或者贝塞尔曲线。 +The Path API consists of a bunch of functions. `move` is responsible for setting the starting point of the path. `addLine` is responsible for drawing a straight line to the destination point specified. -用 `addPath` 可以添加两条或者多条路径。 +`addArc`, `addCurve`, `addQuadCurve`, `addRect`, and `addEllipse` are just a few other methods that let us create circular arcs or Bezier curves among many other things with paths. -下面的插图展示了一个三角形,后面跟着一个圆饼图。 +Appending two or more paths is possible using `addPath`. +The following illustration shows a triangle followed by a circular pie: ![](https://cdn-images-1.medium.com/max/2186/1*8XNc1miVjNhzzDCYW44p8g.png) -既然我们已经了解怎样在 SwiftUI 中创建 paths,赶紧来看看 SwiftUI 中的折线图。 - - - -## SwiftUI 折线图 - -下面给出的模型,是用来解析 API 响应返回的 JSON。 +Now that we’ve got an idea of how to create paths in SwiftUI, let’s jump to Line Charts in SwiftUI. +## SwiftUI Line Chart +The model to decode the JSON response from the API is given below: ```Swift struct StockPrice : Codable{ @@ -95,8 +90,7 @@ struct StocksDaily : Codable { } ``` -创建一个 `ObservableObject` 类。我们用 URLSession 中的 Combine Publisher 来处理 API 请求,然后用 Combine 操作来转换结果。 - +Let’s create an `ObservableObject` class. We’ll perform the API requests using the URLSession’s Combine Publisher and transform the results using the Combine operators. ```Swift class Stocks : ObservableObject{ @@ -162,9 +156,9 @@ extension String { } ``` -API 结果中包含用日期作为 key 的内置 JSON。它们在字典中无序的,需要进行排序。因此,我们声明了一个把字符串转换为日期的扩展,然后在 `sort` 函数中进行比较。 +The API results consist of nested JSON with the key being the dates. These are unordered in the dictionary and we need to sort them. For that, we’ve declared an extension that converts the string to date and does a comparison in the `sort` function. -既然已经在 `Published` 属性中获得了价格和股票数据,我们需要将它们传递给 `LineView` — 下面我们将会看到的一个自定义的 SwiftUI 视图: +Now that we’ve got the prices and stock data in the `Published` properties, we need to pass them to the `LineView` — a custom SwiftUI view that we will see next: ```Swift struct LineView: View { @@ -216,7 +210,8 @@ struct LineView: View { } ``` -上面的视图从 SwiftUI 中的 ContentView 唤起,传入了姓名、价格和历史价格的数组。使用 GeometryReader,我们要向 `Line` 结构中的 frame 传入宽和高,这里我们最终会用 SwiftUI 的路径来连接这些点: +The view above gets invoked from our SwiftUI ContentView, where the name, price, and an array of price history are passed. Using the GeometryReader, we’ll pass the width and height of the frame to the `Line` struct, where we’ll eventually join the points using SwiftUI paths: + ```Swift struct Line: View { var data: [(Double)] @@ -269,7 +264,7 @@ struct Line: View { } ``` -计算 `stepWidth` 和 `stepHeight` 是用来在给定 frame 的宽和高的情况下,对图表进行约束。然后,把它们传递给 `Path` 结构体扩展函数,用来创建折线图: +`stepWidth` and `stepHeight` are computed for constraining the chart within a given width and height of the frame. They’re then passed to the extension function of the `Path` struct to create the line chart: ```Swift extension Path { @@ -291,19 +286,19 @@ extension Path { } ``` -最后,展示股票折线图的 SwiftUI 程序就绪了。下面的插图进行了展示: +Finally, the SwiftUI application displaying the stocks chart in action is ready. The following illustration showcases that: ![](https://cdn-images-1.medium.com/max/2186/1*51q3BlLa-XLLKtHn-mgTOA.png) -## 总结 +## Conclusion -本文中,我们再次将 SwiftUI 和 Combine 成功结合 — 这次是抓取股票价格数据,然后在折线图中展示。通过了解 SwiftUI 中 paths 的错综复杂,实现 `path` 方法,来使用 SwiftUI 中的图形来工作,是一个好的开始。 +In this article, we managed to bring together SwiftUI and Combine once again — this time for fetching stock prices and displaying them in a Line Chart. Knowing the intricacies of SwiftUI paths is a good starting point for working with SwiftUI shapes, which require you to implement the `path` function. -你可以使用手势对点和相应的值进行高亮处理,来进一步了解上文中的 SwiftUI 折线图。想知道怎样实现和更多资料,请参照 [这个仓库](https://github.com/AppPear/ChartView)。 +You can take the SwiftUI Line Charts above a step further by using gestures to highlight the points and their respective values. To know how to do that and more, refer [to this repository](https://github.com/AppPear/ChartView). -上文程序中的全部源码都在这个 [GitHub 仓库](https://github.com/anupamchugh/iowncode/tree/master/SwiftUILineChart). +The full source code of the application above is available in the [GitHub repository](https://github.com/anupamchugh/iowncode/tree/master/SwiftUILineChart). -文章结束了。感谢阅读。 +That’s it for this one. Thanks for reading. > 如果发现译文存在错误或其他需要改进的地方,欢迎到 [掘金翻译计划](https://github.com/xitu/gold-miner) 对译文进行修改并 PR,也可获得相应奖励积分。文章开头的 **本文永久链接** 即为本文在 GitHub 上的 MarkDown 链接。 From 5708d448f1511501c1202aba9d4ca0a4e0c4e564 Mon Sep 17 00:00:00 2001 From: chaingangway Date: Thu, 2 Apr 2020 17:22:52 +0800 Subject: [PATCH 03/11] =?UTF-8?q?=E4=BD=9C=E4=B8=BA2020=E5=B9=B4=E7=9A=84?= =?UTF-8?q?=E5=BC=80=E5=8F=91=E8=80=85=EF=BC=8C=E4=BD=A0=E5=BA=94=E8=AF=A5?= =?UTF-8?q?=E5=AD=A6=E4=B9=A0=20VIM=20=E5=90=97=EF=BC=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ld-you-learn-vim-as-a-developer-in-2020.md | 45 ++++++++++--------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/TODO1/should-you-learn-vim-as-a-developer-in-2020.md b/TODO1/should-you-learn-vim-as-a-developer-in-2020.md index 1ead7e063b8..9af8db3072e 100644 --- a/TODO1/should-you-learn-vim-as-a-developer-in-2020.md +++ b/TODO1/should-you-learn-vim-as-a-developer-in-2020.md @@ -2,54 +2,55 @@ > * 原文作者:[Joey Colon](https://medium.com/@joey_colon) > * 译文出自:[掘金翻译计划](https://github.com/xitu/gold-miner) > * 本文永久链接:[https://github.com/xitu/gold-miner/blob/master/TODO1/should-you-learn-vim-as-a-developer-in-2020.md](https://github.com/xitu/gold-miner/blob/master/TODO1/should-you-learn-vim-as-a-developer-in-2020.md) -> * 译者: +> * 译者:[chaingangway](https://github.com/chaingangway) > * 校对者: -# Should You Learn VIM as a Developer in 2020? +# 作为2020年的开发者,你应该学习 VIM 吗? ![Photo by [Helloquence ](https://unsplash.com/photos/5fNmWej4tAA)on [Unsplash](http://unsplash.com)](https://cdn-images-1.medium.com/max/2000/1*6RF4SWv3nDsFlX1vDzc8Nw.jpeg) -## Introduction +## 开场白 -The discussion of which text editor, which shell, or which OS you use has always been a hot topic for developers to chime in on. I’m sure we all know that one person who is crazy over VIM. I’m sorry to disappoint you, but this post will not be glorifying VIM itself. Instead, this post will be used to discuss why I decided to learn VIM, what VIM solved for me, what it didn’t, and most importantly, should you learn VIM? +关于使用什么文本编辑器,哪一种 shell 和操作系统一直是开发者热衷于讨论的话题。我们知道,肯定有人很热衷于 VIM。遗憾的是,这篇文章不打算赞美 VIM,而是来讨论为什么我学习 VIM,它能为我解决什么问题,不能为我解决什么问题,以及最重要的,你应不应该学习 VIM? -A brief introduction about my programming background as it will give context. I started programming seriously around late 2018 after deciding to pursue it for a career path. Before then, I would often create (pretty bad) scripts for different games I played and run a few websites/game servers as side hustles. Since taking up programming as a career, I have dabbled in several languages, but I find myself doing a lot of work in the JavaScript ecosystem. Now that we’ve got intros out of the way, let’s get started! +下文中我会对我的编程背景做一个简要介绍。在2018年末,我决定把编程作为职业道路后,就开始认真对待编码。在这之前,我经常在我玩的各种游戏中创建(很烂的)脚本,然后运营一些网站或者游戏服务器,作为副业。自从把编程作为事业之后,我涉猎了几种语言,其中在 JavaScript 的生态中我做了很多事情。介绍结束,我们来开始正文吧! ![](https://cdn-images-1.medium.com/max/2400/1*djasmygBIiqOqTCnXUehxA.jpeg) -## What VIM Didn’t Solve for Me +## VIM 没有为我解决的问题 -VIM didn’t make me a better software engineer. I will say it again: Learning VIM does not make you a better software engineer. At its core, software engineering is agnostic of what shell/editor/OS you develop on. I believe that too many people implicitly have this notion that you need to use X or Y in order to be a “good” software engineer. +VIM 没有让我变成更好的软件工程师。我要重申一遍:学习 VIM 不会让你变成更好的软件工程师。核心意思是,软件工程是不关注你开发所使用的 shell、编辑器或者操作系统。我相信肯定有很多人会有这样的观点:为了让你变成一个“好”的软件工程师,你需要使用 X 或者 Y。 -As a newcomer in this industry, I find the general “____ OR BUST” mentality to be cringe and elitist. We’re all creating solutions to complex problems. The toolkit you use to write your solution doesn't make you a better or worse developer. +作为这个行业的新人,我发现“要么不做,要么破产”的心态是畏缩者和精英主义者所有的。我们都是在为复杂问题创造解决方案。用于写下方案的工具包,不会让你成为更好的或者更差的开发者。 -## Why I Decided to Learn VIM +## 我为什么学习 VIM -#### Building habits +#### 建立习惯 -Since I’m a relatively new programmer, I have a lot of room for areas of improvement, and workflow is definitely one of those areas. Before learning VIM, I was never really a person to utilize hotkeys/keybindings to my advantage. I was extremely reliant on using my mouse. When being pitched the typical VIM spiel, the whole “keep your hands on the keyboard” point appealed to me since I have always been a fast typer. I knew in the back of my head that learning VIM wouldn’t lead to any sort of negatives. +既然我是一个相对比较萌新的程序员,我在很多领域有提升的空间,工作流方面绝对是这些领域之一。在学习 VIM 之前,我是一个连快捷键都不会设置的人。我非常依赖于鼠标。在 VIM 给我洗脑时,“让手专注于键盘”这个观点吸引了我,因为我打字一直很快。我的潜意识里告诉我,学习 VIM 不会产生任何负面因素。 -#### Limitless potential +#### 无限潜能 -When debating if I should learn VIM, I decided to watch a tech talk about it, and the single major takeaway I had from it was that people can use VIM for years and still be improving their usage on the tool. +在纠结应不应该学 VIM 时,我看了一个关于它的科技讨论,唯一能获得的要点是,人们用 VIM 很多年了,现在还能在这个工具上进行改善。 -This hinted at a few things for me. First, picking up VIM is a huge time investment, but more importantly, you’re always finding ways to level up your craft. As someone who’s a pretty new developer, I want to parallelize my efforts when I can. This is a reiteration of my previous point, but when I incorporate different tools (VIM in this case) into my development workflow, I give myself the ability to kill two birds with one stone. +这个观点提示了我很多事情。首先,学会 VIM 需要巨大的时间投资,但更重要的是,你是在找提升技术水平的路子。作为一个萌新的开发者,我想同步我的努力。这是我之前观点的重申,当我把开发工作流中的各种工具(本例中的 VIM )掌握了,我就有一石二鸟的能力了。 -#### I no longer need nano on my Linux servers +#### 在 Linux 服务器上,我再也不需要 nano -This is a bit of a random tidbit, but coming from someone who has worked in a Linux environment remotely over the years to run a few sites/servers, not knowing VIM was definitely annoying. If I needed to ever modify a config file for a service I was running on a box, it would require me to install nano as my knowledge with VIM was `:q!`. +这句话有点传闻的味道,说这句话的人,在 Linux 远程环境下,运营了很多年的网站和服务器,他肯定不知道 VIM 确实很烦人。如果要为正在运行的服务修改配置文件,我得安装 nano,因为我对 VIM 的认知是用 `:q!` 来操作。 -## My Work Environment +## 我的工作环境 -In my day-to-day, I utilize VSCode with the VIM plugin. I’ve tried installing VIM plugins such as coc.nvim and developing through the terminal itself, but it wasn’t something I was crazy over. I always really enjoyed the experience of writing code on VSCode. Using the VIM VSCode plugin gives me the same experience of running VIM, but I get to reap the benefits of the ecosystem VSCode provides to me. For me, I get the best of both worlds when utilizing this setup. +日常工作中,我在 VSCode 上设置了 VIM 的插件。我曾经尝试安装过像 coc.nvim 这样的插件,借助终端本身来进行开发,但是这些都不是我的菜。我只喜欢在 VSCode 上写代码的体验。使用 VSCode 上的 VIM 插件提供了与运行 VIM 同样的体验,除此之外,我还能获得 VSCode 生态圈提供的好处。对于我来说,使用这个设置两全其美。 -## Conclusion +## 总结 -Should you learn VIM? If you don’t have any sort of habit/strict keybindings for yourself, I think you should at least give it a try. The fact that I had no “comfortable” keybindings/workflow established for myself made learning VIM appealing to me. After learning VIM, I can say that I have gained a new foundation that I am only building off of. +你应该学习 VIM 吗?如果你没有任何快捷键的习惯,我觉得你至少需要试一下。事实上,为了让学习 VIM 能够吸引我,我没有设置“不舒服”的热键或者工作流。学完 VIM 之后,我可以说我获得了只有自己才能构建的新的基础知识。 -It took me about two weeks of lightly running through vimtutor before I felt comfortable enabling the VSCode plugin. From there, it took another week of development time to innately navigate through code using the keybindings through muscle memory. The way I see it is I was coding either way for that time. I was able to get more value for my time by picking up VIM. +浏览 VIM 的教程大概花了我两周的时间,然后我才适应打开 VSCode 上的插件。之后,又花了我另外一周的开发时间,用依靠肌肉记忆的快捷键来浏览代码。这种方式现在看来,我是在用两种方式写代码。通过学会 VIM,我能在时间上获得更多价值。 + +但是,我想重申,程序员最终还是为难题创造解决方案。你想用哪一种快捷键或者编辑器等等,完全基于你的偏好。你编辑文件的速度往往不是你开发工作的瓶颈。 -Though, I would like to reiterate that, at the end of the day, programmers are creating solutions to problems. Which keybindings/editor/etc. you want to use is entirely based on your preference. The speed at which you edit files is often not the bottleneck in your development work. > 如果发现译文存在错误或其他需要改进的地方,欢迎到 [掘金翻译计划](https://github.com/xitu/gold-miner) 对译文进行修改并 PR,也可获得相应奖励积分。文章开头的 **本文永久链接** 即为本文在 GitHub 上的 MarkDown 链接。 From 54265898a0bd303c57b625ef39e3dd0a5b043917 Mon Sep 17 00:00:00 2001 From: chaingangway Date: Sat, 4 Apr 2020 15:53:37 +0800 Subject: [PATCH 04/11] =?UTF-8?q?=E6=A0=A1=E5=AF=B9=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ld-you-learn-vim-as-a-developer-in-2020.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/TODO1/should-you-learn-vim-as-a-developer-in-2020.md b/TODO1/should-you-learn-vim-as-a-developer-in-2020.md index 9af8db3072e..b6152271d6e 100644 --- a/TODO1/should-you-learn-vim-as-a-developer-in-2020.md +++ b/TODO1/should-you-learn-vim-as-a-developer-in-2020.md @@ -11,45 +11,45 @@ ## 开场白 -关于使用什么文本编辑器,哪一种 shell 和操作系统一直是开发者热衷于讨论的话题。我们知道,肯定有人很热衷于 VIM。遗憾的是,这篇文章不打算赞美 VIM,而是来讨论为什么我学习 VIM,它能为我解决什么问题,不能为我解决什么问题,以及最重要的,你应不应该学习 VIM? +关于使用什么文本编辑器,哪一种 shell 和哪一类操作系统一直是开发者热衷于讨论的话题。我们知道,肯定有人很热衷于 VIM。遗憾的是,这篇文章不打算赞美 VIM,而是来讨论我为什么决定学习 VIM,它能为我解决什么问题,不能为我解决什么问题,以及最重要的:你应不应该学习 VIM? -下文中我会对我的编程背景做一个简要介绍。在2018年末,我决定把编程作为职业道路后,就开始认真对待编码。在这之前,我经常在我玩的各种游戏中创建(很烂的)脚本,然后运营一些网站或者游戏服务器,作为副业。自从把编程作为事业之后,我涉猎了几种语言,其中在 JavaScript 的生态中我做了很多事情。介绍结束,我们来开始正文吧! +下文中我会对我的编程背景做一个简要介绍。在2018年末,我决定把编程作为职业道路后,就开始认真对待编码。在这之前,我经常为我玩的各种游戏创建(相当糟糕的)脚本,同时也把运行一些网站或游戏服务器作为副业。自从把编程作为事业之后,我涉猎了几种语言,其中在 JavaScript 的生态中我做了很多事情。介绍结束,我们来开始正文吧! ![](https://cdn-images-1.medium.com/max/2400/1*djasmygBIiqOqTCnXUehxA.jpeg) ## VIM 没有为我解决的问题 -VIM 没有让我变成更好的软件工程师。我要重申一遍:学习 VIM 不会让你变成更好的软件工程师。核心意思是,软件工程是不关注你开发所使用的 shell、编辑器或者操作系统。我相信肯定有很多人会有这样的观点:为了让你变成一个“好”的软件工程师,你需要使用 X 或者 Y。 +VIM 没有让我变成更优秀的软件工程师。我要重申一遍:学习 VIM 不会让你变成更优秀的软件工程师。核心意思是,软件工程与你开发所使用的 shell、编辑器或者操作系统无关。我相信肯定有很多人会有这样的观点:为了让你变成一个“优秀”的软件工程师,你需要使用 X 或者 Y。 -作为这个行业的新人,我发现“要么不做,要么破产”的心态是畏缩者和精英主义者所有的。我们都是在为复杂问题创造解决方案。用于写下方案的工具包,不会让你成为更好的或者更差的开发者。 +作为这个行业的新人,我发现“要么不做,要么破产”的心态是畏缩者和精英主义者所有的。我们都是在为复杂问题创造解决方案。而用于解决方案的工具,不会让你成为更好的或者更差的开发者。 ## 我为什么学习 VIM #### 建立习惯 -既然我是一个相对比较萌新的程序员,我在很多领域有提升的空间,工作流方面绝对是这些领域之一。在学习 VIM 之前,我是一个连快捷键都不会设置的人。我非常依赖于鼠标。在 VIM 给我洗脑时,“让手专注于键盘”这个观点吸引了我,因为我打字一直很快。我的潜意识里告诉我,学习 VIM 不会产生任何负面因素。 +既然我是一个相对比较萌新的程序员,我在很多领域有提升的空间,工作流方面绝对是这些领域之一。在学习 VIM 之前,我是一个连快捷键都不会设置的人。我非常依赖于鼠标。在 VIM 给我洗脑时,“让手专注于键盘”这个观点吸引了我,因为我打字一直很快。我的潜意识里告诉我,学习 VIM 不会造成任何负面影响。 #### 无限潜能 在纠结应不应该学 VIM 时,我看了一个关于它的科技讨论,唯一能获得的要点是,人们用 VIM 很多年了,现在还能在这个工具上进行改善。 -这个观点提示了我很多事情。首先,学会 VIM 需要巨大的时间投资,但更重要的是,你是在找提升技术水平的路子。作为一个萌新的开发者,我想同步我的努力。这是我之前观点的重申,当我把开发工作流中的各种工具(本例中的 VIM )掌握了,我就有一石二鸟的能力了。 +这个观点提示了我很多事情。首先,学会 VIM 需要投资巨多的时间,但更重要的是,你总是在想办法提高你的技能。作为一个萌新的开发者,我想同步我的努力。这是我之前观点的重申,当我把不同的工具(本例中的 VIM )整合进我的开发工作流中,我就有一石二鸟的能力了。 #### 在 Linux 服务器上,我再也不需要 nano -这句话有点传闻的味道,说这句话的人,在 Linux 远程环境下,运营了很多年的网站和服务器,他肯定不知道 VIM 确实很烦人。如果要为正在运行的服务修改配置文件,我得安装 nano,因为我对 VIM 的认知是用 `:q!` 来操作。 +这句话有点传闻的味道,说这句话的人,在 Linux 远程环境下,远程运营了很多年的网站和服务器,他肯定不知道 VIM 确实很烦人。如果要为正在运行的服务修改配置文件,我得安装 nano,因为我对 VIM 的认知是用 `:q!` 来操作。 ## 我的工作环境 -日常工作中,我在 VSCode 上设置了 VIM 的插件。我曾经尝试安装过像 coc.nvim 这样的插件,借助终端本身来进行开发,但是这些都不是我的菜。我只喜欢在 VSCode 上写代码的体验。使用 VSCode 上的 VIM 插件提供了与运行 VIM 同样的体验,除此之外,我还能获得 VSCode 生态圈提供的好处。对于我来说,使用这个设置两全其美。 +日常工作中,我在 VSCode 上设置了 VIM 的插件。我曾经尝试安装过像 coc.nvim 这样的插件,借助终端本身来进行开发,但是这些都不是我的菜。我一直很喜欢在 VSCode 上写代码的体验。使用 VSCode 上的 VIM 插件提供了与运行 VIM 同样的体验,除此之外,我还能获得 VSCode 生态圈提供的好处。对于我来说,使用这个设置两全其美。 ## 总结 -你应该学习 VIM 吗?如果你没有任何快捷键的习惯,我觉得你至少需要试一下。事实上,为了让学习 VIM 能够吸引我,我没有设置“不舒服”的热键或者工作流。学完 VIM 之后,我可以说我获得了只有自己才能构建的新的基础知识。 +你应该学习 VIM 吗?如果你没有任何快捷键的习惯,我觉得你至少需要试一下。我过去没有设置“舒服”的热键或者工作流的情况,让学习 VIM 对我充满了吸引力。学完 VIM 之后,我可以说我获得了只有自己才能构建的新的基础知识。 -浏览 VIM 的教程大概花了我两周的时间,然后我才适应打开 VSCode 上的插件。之后,又花了我另外一周的开发时间,用依靠肌肉记忆的快捷键来浏览代码。这种方式现在看来,我是在用两种方式写代码。通过学会 VIM,我能在时间上获得更多价值。 +浏览 VIM 的教程(Vimtutor)大概花了我两周的时间,然后我才适应 VSCode 上的 VIM 插件。之后,又花了我另外一周的开发时间,通过肌肉记忆建立用快捷键浏览代码的习惯。这种方式现在看来,我是在用两种方式写代码。学会 VIM 让我的时间更有价值。 -但是,我想重申,程序员最终还是为难题创造解决方案。你想用哪一种快捷键或者编辑器等等,完全基于你的偏好。你编辑文件的速度往往不是你开发工作的瓶颈。 +但是,我想重申,程序员最终还是为难题创造解决方案的。你想用哪一种快捷键方案、编辑器或者其他的东西,完全基于你的偏好。你编辑文件的速度往往不是你开发工作的瓶颈。 > 如果发现译文存在错误或其他需要改进的地方,欢迎到 [掘金翻译计划](https://github.com/xitu/gold-miner) 对译文进行修改并 PR,也可获得相应奖励积分。文章开头的 **本文永久链接** 即为本文在 GitHub 上的 MarkDown 链接。 From 1382ccb9c0906bd3a1d375cff07a51bdd09946a6 Mon Sep 17 00:00:00 2001 From: chaingangway Date: Sun, 5 Apr 2020 21:08:26 +0800 Subject: [PATCH 05/11] =?UTF-8?q?=E7=AC=AC=E4=BA=8C=E6=AC=A1=E6=A0=A1?= =?UTF-8?q?=E5=AF=B9=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TODO1/should-you-learn-vim-as-a-developer-in-2020.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/TODO1/should-you-learn-vim-as-a-developer-in-2020.md b/TODO1/should-you-learn-vim-as-a-developer-in-2020.md index b6152271d6e..ef968f5ef1a 100644 --- a/TODO1/should-you-learn-vim-as-a-developer-in-2020.md +++ b/TODO1/should-you-learn-vim-as-a-developer-in-2020.md @@ -13,7 +13,7 @@ 关于使用什么文本编辑器,哪一种 shell 和哪一类操作系统一直是开发者热衷于讨论的话题。我们知道,肯定有人很热衷于 VIM。遗憾的是,这篇文章不打算赞美 VIM,而是来讨论我为什么决定学习 VIM,它能为我解决什么问题,不能为我解决什么问题,以及最重要的:你应不应该学习 VIM? -下文中我会对我的编程背景做一个简要介绍。在2018年末,我决定把编程作为职业道路后,就开始认真对待编码。在这之前,我经常为我玩的各种游戏创建(相当糟糕的)脚本,同时也把运行一些网站或游戏服务器作为副业。自从把编程作为事业之后,我涉猎了几种语言,其中在 JavaScript 的生态中我做了很多事情。介绍结束,我们来开始正文吧! +下文中我会对我的编程背景做一个简要介绍。大概在2018年末,我决定把编程作为职业道路,就开始认真对待编程。在这之前,我经常为我玩的各种游戏创建(相当糟糕的)脚本,同时也把运行一些网站或游戏服务器作为副业。自从把编程作为事业之后,我涉猎了几种语言,其中在 JavaScript 的生态中我做了很多事情。介绍结束,我们来开始正文吧! ![](https://cdn-images-1.medium.com/max/2400/1*djasmygBIiqOqTCnXUehxA.jpeg) @@ -27,11 +27,11 @@ VIM 没有让我变成更优秀的软件工程师。我要重申一遍:学习 #### 建立习惯 -既然我是一个相对比较萌新的程序员,我在很多领域有提升的空间,工作流方面绝对是这些领域之一。在学习 VIM 之前,我是一个连快捷键都不会设置的人。我非常依赖于鼠标。在 VIM 给我洗脑时,“让手专注于键盘”这个观点吸引了我,因为我打字一直很快。我的潜意识里告诉我,学习 VIM 不会造成任何负面影响。 +既然我是一个相对比较萌新的程序员,我在很多领域有提升的空间,工作流绝对是其中之一。在学习 VIM 之前,我是一个连快捷键都不会设置的人。我非常依赖于鼠标。在 VIM 给我洗脑时,“让手专注于键盘”这个观点吸引了我,因为我打字一直很快。我的潜意识里告诉我,学习 VIM 不会造成任何负面影响。 #### 无限潜能 -在纠结应不应该学 VIM 时,我看了一个关于它的科技讨论,唯一能获得的要点是,人们用 VIM 很多年了,现在还能在这个工具上进行改善。 +在纠结应不应该学 VIM 时,我看了一个关于它的科技讨论,唯一能获得的要点是,人们用 VIM 很多年了,现在还能在这个工具上进行改进。 这个观点提示了我很多事情。首先,学会 VIM 需要投资巨多的时间,但更重要的是,你总是在想办法提高你的技能。作为一个萌新的开发者,我想同步我的努力。这是我之前观点的重申,当我把不同的工具(本例中的 VIM )整合进我的开发工作流中,我就有一石二鸟的能力了。 @@ -41,11 +41,11 @@ VIM 没有让我变成更优秀的软件工程师。我要重申一遍:学习 ## 我的工作环境 -日常工作中,我在 VSCode 上设置了 VIM 的插件。我曾经尝试安装过像 coc.nvim 这样的插件,借助终端本身来进行开发,但是这些都不是我的菜。我一直很喜欢在 VSCode 上写代码的体验。使用 VSCode 上的 VIM 插件提供了与运行 VIM 同样的体验,除此之外,我还能获得 VSCode 生态圈提供的好处。对于我来说,使用这个设置两全其美。 +日常工作中,我在 VSCode 上设置了 VIM 的插件。我曾经尝试安装过像 coc.nvim 这样的插件,以便直接用终端进行开发,但是这些都不是我的菜。我一直很喜欢在 VSCode 上写代码的体验。使用 VSCode 上的 VIM 插件提供了与运行 VIM 同样的体验,除此之外,我还能获得 VSCode 生态圈提供的好处。对于我来说,使用这个设置两全其美。 ## 总结 -你应该学习 VIM 吗?如果你没有任何快捷键的习惯,我觉得你至少需要试一下。我过去没有设置“舒服”的热键或者工作流的情况,让学习 VIM 对我充满了吸引力。学完 VIM 之后,我可以说我获得了只有自己才能构建的新的基础知识。 +你应该学习 VIM 吗?如果你没有任何使用快捷键的习惯,我觉得你至少需要试一下。我过去没有设置“舒服”的热键或者工作流的情况,让学习 VIM 对我充满了吸引力。学完 VIM 之后,我可以说我获得了只有自己才能构建的新的基础知识。 浏览 VIM 的教程(Vimtutor)大概花了我两周的时间,然后我才适应 VSCode 上的 VIM 插件。之后,又花了我另外一周的开发时间,通过肌肉记忆建立用快捷键浏览代码的习惯。这种方式现在看来,我是在用两种方式写代码。学会 VIM 让我的时间更有价值。 From 5884a6dd1b2b1eb8239c14083e1c1e54e3607314 Mon Sep 17 00:00:00 2001 From: chaingangway Date: Mon, 6 Apr 2020 16:48:24 +0800 Subject: [PATCH 06/11] =?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=AC=A1=E6=A0=A1?= =?UTF-8?q?=E5=AF=B9=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TODO1/should-you-learn-vim-as-a-developer-in-2020.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/TODO1/should-you-learn-vim-as-a-developer-in-2020.md b/TODO1/should-you-learn-vim-as-a-developer-in-2020.md index ef968f5ef1a..0f8a8724c62 100644 --- a/TODO1/should-you-learn-vim-as-a-developer-in-2020.md +++ b/TODO1/should-you-learn-vim-as-a-developer-in-2020.md @@ -13,7 +13,7 @@ 关于使用什么文本编辑器,哪一种 shell 和哪一类操作系统一直是开发者热衷于讨论的话题。我们知道,肯定有人很热衷于 VIM。遗憾的是,这篇文章不打算赞美 VIM,而是来讨论我为什么决定学习 VIM,它能为我解决什么问题,不能为我解决什么问题,以及最重要的:你应不应该学习 VIM? -下文中我会对我的编程背景做一个简要介绍。大概在2018年末,我决定把编程作为职业道路,就开始认真对待编程。在这之前,我经常为我玩的各种游戏创建(相当糟糕的)脚本,同时也把运行一些网站或游戏服务器作为副业。自从把编程作为事业之后,我涉猎了几种语言,其中在 JavaScript 的生态中我做了很多事情。介绍结束,我们来开始正文吧! +下文中我会对我的编程背景做一个简要介绍。大概在2018年末,我决定把编程作为职业后,就开始认真对待编程。在这之前,我经常为我玩的各种游戏创建(相当糟糕的)脚本,同时也把运行一些网站或游戏服务器作为副业。自从把编程作为事业之后,我涉猎了几种语言,其中在 JavaScript 的生态中我做了很多事情。介绍结束,我们来开始正文吧! ![](https://cdn-images-1.medium.com/max/2400/1*djasmygBIiqOqTCnXUehxA.jpeg) @@ -21,9 +21,9 @@ VIM 没有让我变成更优秀的软件工程师。我要重申一遍:学习 VIM 不会让你变成更优秀的软件工程师。核心意思是,软件工程与你开发所使用的 shell、编辑器或者操作系统无关。我相信肯定有很多人会有这样的观点:为了让你变成一个“优秀”的软件工程师,你需要使用 X 或者 Y。 -作为这个行业的新人,我发现“要么不做,要么破产”的心态是畏缩者和精英主义者所有的。我们都是在为复杂问题创造解决方案。而用于解决方案的工具,不会让你成为更好的或者更差的开发者。 +作为这个行业的新人,我发现这种普遍的“要么不做,要么破产”的心态是畏缩者和精英主义者所有的。我们都是在为复杂问题创造解决方案。而用于解决方案的工具,不会让你成为更好的或者更差的开发者。 -## 我为什么学习 VIM +## 我为什么决定学习 VIM #### 建立习惯 From d8d38c8246ccecfa3b4d48d7ec38c06ee5539078 Mon Sep 17 00:00:00 2001 From: Galway Chain <50473705+chaingangway@users.noreply.github.com> Date: Tue, 7 Apr 2020 22:33:36 +0800 Subject: [PATCH 07/11] Update TODO1/should-you-learn-vim-as-a-developer-in-2020.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 数字格式调整 Co-Authored-By: lsvih --- TODO1/should-you-learn-vim-as-a-developer-in-2020.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TODO1/should-you-learn-vim-as-a-developer-in-2020.md b/TODO1/should-you-learn-vim-as-a-developer-in-2020.md index 0f8a8724c62..b362cd452fe 100644 --- a/TODO1/should-you-learn-vim-as-a-developer-in-2020.md +++ b/TODO1/should-you-learn-vim-as-a-developer-in-2020.md @@ -13,7 +13,7 @@ 关于使用什么文本编辑器,哪一种 shell 和哪一类操作系统一直是开发者热衷于讨论的话题。我们知道,肯定有人很热衷于 VIM。遗憾的是,这篇文章不打算赞美 VIM,而是来讨论我为什么决定学习 VIM,它能为我解决什么问题,不能为我解决什么问题,以及最重要的:你应不应该学习 VIM? -下文中我会对我的编程背景做一个简要介绍。大概在2018年末,我决定把编程作为职业后,就开始认真对待编程。在这之前,我经常为我玩的各种游戏创建(相当糟糕的)脚本,同时也把运行一些网站或游戏服务器作为副业。自从把编程作为事业之后,我涉猎了几种语言,其中在 JavaScript 的生态中我做了很多事情。介绍结束,我们来开始正文吧! +下文中我会对我的编程背景做一个简要介绍。大概在 2018 年末,我决定把编程作为职业后,就开始认真对待编程。在这之前,我经常为我玩的各种游戏创建(相当糟糕的)脚本,同时也把运行一些网站或游戏服务器作为副业。自从把编程作为事业之后,我涉猎了几种语言,其中在 JavaScript 的生态中我做了很多事情。介绍结束,我们来开始正文吧! ![](https://cdn-images-1.medium.com/max/2400/1*djasmygBIiqOqTCnXUehxA.jpeg) From adf6d4756e97d99a086abff541d4030056a98bf4 Mon Sep 17 00:00:00 2001 From: Galway Chain <50473705+chaingangway@users.noreply.github.com> Date: Tue, 7 Apr 2020 22:34:09 +0800 Subject: [PATCH 08/11] Update TODO1/should-you-learn-vim-as-a-developer-in-2020.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 标题数字格式调整 Co-Authored-By: lsvih --- TODO1/should-you-learn-vim-as-a-developer-in-2020.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TODO1/should-you-learn-vim-as-a-developer-in-2020.md b/TODO1/should-you-learn-vim-as-a-developer-in-2020.md index b362cd452fe..9e990a43bd2 100644 --- a/TODO1/should-you-learn-vim-as-a-developer-in-2020.md +++ b/TODO1/should-you-learn-vim-as-a-developer-in-2020.md @@ -5,7 +5,7 @@ > * 译者:[chaingangway](https://github.com/chaingangway) > * 校对者: -# 作为2020年的开发者,你应该学习 VIM 吗? +# 作为 2020 年的开发者,你应该学习 VIM 吗? ![Photo by [Helloquence ](https://unsplash.com/photos/5fNmWej4tAA)on [Unsplash](http://unsplash.com)](https://cdn-images-1.medium.com/max/2000/1*6RF4SWv3nDsFlX1vDzc8Nw.jpeg) From a6f1e370da2ed3470bcf1daa7a15956afc253bb3 Mon Sep 17 00:00:00 2001 From: chaingangway Date: Tue, 7 Apr 2020 22:37:04 +0800 Subject: [PATCH 09/11] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=A0=A1=E5=AF=B9?= =?UTF-8?q?=E8=80=85=E5=90=8D=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TODO1/should-you-learn-vim-as-a-developer-in-2020.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/TODO1/should-you-learn-vim-as-a-developer-in-2020.md b/TODO1/should-you-learn-vim-as-a-developer-in-2020.md index 9e990a43bd2..0648ec11f2d 100644 --- a/TODO1/should-you-learn-vim-as-a-developer-in-2020.md +++ b/TODO1/should-you-learn-vim-as-a-developer-in-2020.md @@ -3,7 +3,8 @@ > * 译文出自:[掘金翻译计划](https://github.com/xitu/gold-miner) > * 本文永久链接:[https://github.com/xitu/gold-miner/blob/master/TODO1/should-you-learn-vim-as-a-developer-in-2020.md](https://github.com/xitu/gold-miner/blob/master/TODO1/should-you-learn-vim-as-a-developer-in-2020.md) > * 译者:[chaingangway](https://github.com/chaingangway) -> * 校对者: +> * 校对者:[IAMSHENSH](https://github.com/IAMSHENSH) [QinRoc](https://github.com/QinRoc) [Amberlin1970](https://github.com/Amberlin1970) + # 作为 2020 年的开发者,你应该学习 VIM 吗? From 9a2e64d37e88f63768b3a1e74088fbc23bf9a3d9 Mon Sep 17 00:00:00 2001 From: chaingangway Date: Tue, 7 Apr 2020 22:39:26 +0800 Subject: [PATCH 10/11] =?UTF-8?q?=E8=B0=83=E6=95=B4=E8=A1=8C=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TODO1/should-you-learn-vim-as-a-developer-in-2020.md | 1 - 1 file changed, 1 deletion(-) diff --git a/TODO1/should-you-learn-vim-as-a-developer-in-2020.md b/TODO1/should-you-learn-vim-as-a-developer-in-2020.md index 0648ec11f2d..d59ecf15b5a 100644 --- a/TODO1/should-you-learn-vim-as-a-developer-in-2020.md +++ b/TODO1/should-you-learn-vim-as-a-developer-in-2020.md @@ -5,7 +5,6 @@ > * 译者:[chaingangway](https://github.com/chaingangway) > * 校对者:[IAMSHENSH](https://github.com/IAMSHENSH) [QinRoc](https://github.com/QinRoc) [Amberlin1970](https://github.com/Amberlin1970) - # 作为 2020 年的开发者,你应该学习 VIM 吗? ![Photo by [Helloquence ](https://unsplash.com/photos/5fNmWej4tAA)on [Unsplash](http://unsplash.com)](https://cdn-images-1.medium.com/max/2000/1*6RF4SWv3nDsFlX1vDzc8Nw.jpeg) From 9a3b52afda16aa339bad52fca1f12a99fe469ad9 Mon Sep 17 00:00:00 2001 From: lsvih Date: Tue, 7 Apr 2020 22:44:35 +0800 Subject: [PATCH 11/11] Update should-you-learn-vim-as-a-developer-in-2020.md --- TODO1/should-you-learn-vim-as-a-developer-in-2020.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/TODO1/should-you-learn-vim-as-a-developer-in-2020.md b/TODO1/should-you-learn-vim-as-a-developer-in-2020.md index d59ecf15b5a..a3dc8b0ae64 100644 --- a/TODO1/should-you-learn-vim-as-a-developer-in-2020.md +++ b/TODO1/should-you-learn-vim-as-a-developer-in-2020.md @@ -3,7 +3,7 @@ > * 译文出自:[掘金翻译计划](https://github.com/xitu/gold-miner) > * 本文永久链接:[https://github.com/xitu/gold-miner/blob/master/TODO1/should-you-learn-vim-as-a-developer-in-2020.md](https://github.com/xitu/gold-miner/blob/master/TODO1/should-you-learn-vim-as-a-developer-in-2020.md) > * 译者:[chaingangway](https://github.com/chaingangway) -> * 校对者:[IAMSHENSH](https://github.com/IAMSHENSH) [QinRoc](https://github.com/QinRoc) [Amberlin1970](https://github.com/Amberlin1970) +> * 校对者:[IAMSHENSH](https://github.com/IAMSHENSH)、[QinRoc](https://github.com/QinRoc)、[Amberlin1970](https://github.com/Amberlin1970) # 作为 2020 年的开发者,你应该学习 VIM 吗? @@ -51,7 +51,6 @@ VIM 没有让我变成更优秀的软件工程师。我要重申一遍:学习 但是,我想重申,程序员最终还是为难题创造解决方案的。你想用哪一种快捷键方案、编辑器或者其他的东西,完全基于你的偏好。你编辑文件的速度往往不是你开发工作的瓶颈。 - > 如果发现译文存在错误或其他需要改进的地方,欢迎到 [掘金翻译计划](https://github.com/xitu/gold-miner) 对译文进行修改并 PR,也可获得相应奖励积分。文章开头的 **本文永久链接** 即为本文在 GitHub 上的 MarkDown 链接。 ---