什么文本编辑器比较好用？
============

在这篇文章中我们强调了关于 web 开发者安装文本编辑器的一些考虑事项。

|  |  |
| --- | --- |
| 前提： | 你应该已经知晓了为了建立一个网站所需的各种软件。 |
| 目标： | 学习作为一个 web 开发者如何选择一个最适合自己需求的文本编辑器。 |

概要
--

一个网站包括很多文本文件，所以为了拥有一个有趣的，令人愉快的开发经历你应该明智地选择你的文本编辑器。

可做选择的文本编辑器数量实在是太多了，因为文本编辑器对于计算机科学来说是如此基础（是的，web 开发是计算机科学）。按理想来说，你应该尽你可能的尝试足够多的编辑器然后感受出来哪一款适合你的工作流程。但是我们将会给予你一些初学者的建议。

以下是一些你应该考虑的基本问题：

* 我想在哪一个操作系统上工作？
* 我想使用什么样的技术？
* 我希望我的文本编辑器具备哪些基本功能？
* 我想为我的文本编辑器添加额外功能吗？
* 当使用文本编辑器时我需要支持或者帮助吗？
* 对我来说文本编辑器的外观和感觉重要吗？

注意我们没有提及价格。显然，这也是要注意的，但一件产品的成本和它的质量或性能几乎没有关系。很大概率下，你能找到一个合适的免费文本编辑器。

以下是一些流行的编辑器：

| 编辑器 | 授权条款 | 价格 | 操作系统 | 支持 | 文档 | 可扩展性 |
| --- | --- | --- | --- | --- | --- | --- |
| Atom | MIT/BSD | 免费 | Windows, Mac, Linux | GitHub Issues | 在线指南 | 是 |
| Bluefish | GPL 3 | 免费 | Windows, Mac, Linux | 邮件列表、Wiki | 在线指南 | 是 |
| Brackets | MIT/BSD | 免费 | Windows, Mac, Linux | IRC | GitHub Wiki | 是 |
| Nova | 闭源 | $99 | Mac | 推特、论坛和在线 | 电子书 | 是 |
| CodeLobster | 闭源 | 免费 | Windows, Mac, Linux | 论坛、电子邮件 | 在线指南 | 是 |
| Emacs | GPL 3 | 免费 | Windows, Mac, Linux | 常见问题、
 邮件列表和新闻组 | 在线指南 | 是 |
| Espresso | 闭源 | $99 | Mac | 电子邮件 | 在线指南 | 是 |
| Gedit | GPL | 免费 | Windows, Mac, Linux | Discourse、IRC | 在线指南 | 是 |
| Kate | LGPL, GPL | 免费 | Windows, Mac, Linux | 邮件列表、IRC | 在线指南 | 是 |
| Komodo Edit | MPL | 免费 | Windows, Mac, Linux | 论坛 | 在线指南 | 是 |
| Notepad++ | GPL | 免费 | Windows | 论坛 | 在线指南 | 是 |
| PSPad | 闭源 | 免费 | Windows | 常见问题、论坛 | 在线帮助 | 是 |
| Sublime Text | 闭源 | $70 | Windows, Mac, Linux | Forum | 官方文档、非官方文档 | 是 |
| TextMate | 闭源 | $50 | Mac | 推特、IRC、邮件列表和电子邮件 | 在线指南、Wiki | 是 |
| BBEdit | 闭源 | 免费 | Mac | 常见问题 | 在线指南 | 否 |
| Vim | 特殊开源 | 免费 | Windows, Mac, Linux | 邮件列表 | 在线指南 | 是 |
| Visual Studio Code | 在 MIT 协议/特殊产品授权下开源 | 免费 | Windows, Mac, Linux | 常见问题 | 文档 | 是 |

主动学习
----

在本章节中，我们希望你能尝试使用和（或）安装一个你选择的文本编辑器。你的计算机可能已经安装了上述建议的编辑器之一（例如，如果使用了 GNOME 桌面，可能已经安装了 Gedit；如果使用了 KDE 桌面，可能已经安装了 Kate），如果没有，你应该尝试安装一个或多个你选择的文本编辑器。

试着挖掘你的编辑器的设置，并阅读手册或文档，看看它的功能是什么。特别是尝试一下（如果在你的编辑器中可能的话）：

* 改变语法高亮的设置和颜色
* 反复调整缩进宽度，将其设置为适合你需要的适当值
* 检查自动保存和会话保存设置
* 配置任何可用的插件并研究如何获得新的插件
* 改变配色方案
* 调整视图设置，看看如何能改变视图的布局
* 检查你的编辑器支持哪些编程语言或技术

在你学习的时候，大多数文本编辑器的默认设置应该是可以使用的，但重要的是要熟悉你选择的工具，这样你就可以选择最适合你使用的工具。随着经验的积累，你会学到更多关于定制编辑器和工具的知识，更重要的是你会学到哪些功能对你的目的更有用。

深入挖掘
----

### 选择标准

所以，更详细地说，你在选择文本编辑器时应该怎么考虑？

#### 我想在哪个操作系统上工作？

当然这是你的选择。然而，一些编辑器只支持特定的操作系统，所以如果你喜欢切换系统，这将会缩小你的选择范围。只要在你的系统上运行了，任何文本编辑器都*能*完成工作，但跨平台的编辑器可以轻松的在操作系统间迁移。

所以首先找出你使用的操作系统，然后检查指定的编辑器是否支持你的操作系统。大多数编辑器在他们的网站上指定了是否支持 Windows 或 Mac，尽管一些编辑器只支持某些版本（比如说只有 Windows 7 或更高版本而不是 Vista）。如果正在运行 Ubuntu，最好的方法是在 Ubuntu 软件中心内进行搜索。当然，一般来说，Linux / UNIX 系列是一个相当多元化的地方，其中不同的发行版与不同的不兼容的包装系统配合使用。这意味着，如果你强烈地（而不是微弱的）想使用某些未经编译的文本编辑器，则可能需要下载源码自己编译它。

#### 我想使用什么样的技术？

一般来说，任何文本编辑器都可以打开任意文本文件，这对于自己写笔记来说是非常有用的。但是当使用 HTML、CSS 和 JavaScript 进行 Web 开发和编写时，你将生产出又大又复杂的文件。选择一个适用你使用的技术的文本编辑器，可以使你更轻松自如。许多文本编辑器可以帮助你实现如下功能：

* **语法高亮** 根据你使用的技术，对关键字进行颜色编码，使你的文件更清晰。
* **代码补全** 通过自动完成重复出现的结构（例如，自动关闭 HTML 标签或为给定的 CSS 属性建议有效值）为你节省时间。
* **代码段** 正如你在启动一个新的 HTML 文档时看到的，许多技术一遍又一遍地使用相同的文档结构。通过使用代码段预先填写你的文档，可以节省你重新输入所有这些的麻烦。

大多数文本编辑器现在都支持语法高亮，但不一定是支持其他两个功能。需要确保你的文本编辑器支持对 HTML、CSS 和 JavaScript 语法的高亮。

#### 我希望我的文本编辑器具备哪些基本功能？

这取决于你的需求和计划。以下功能通常是很有帮助的：

* 根据正则表达式或其他模式的需要，在一个或多个文档中搜索和替换
* 快速跳到指定行
* 分别查看一个大文件的两个部分
* 预览 HTML 在浏览器中的显示情况
* 一次性选择多处文字
* 查看项目的文件和目录
* 使用代码美化程序自动格式化代码
* 检查拼写
* 根据缩进设置自动缩进代码

#### 我想为我的文本编辑器添加额外功能吗？

可扩展的编辑器具有较少的内置功能，但可以根据你的需要进行扩展。

如果你不确定要使用哪些功能，或者你最喜欢的编辑器缺少这些功能，使用可扩展编辑器吧。最好的编辑器将会提供许多插件，理想的方法是自动查找和安装新的插件。

如果你喜欢的功能*很多*，并且你的编辑器因为安装插件而变慢，请尝试使用 IDE（集成开发环境）。IDE 在一个界面中提供了许多工具，对于初学者来说，这是一个令人望而生畏的工作，但是如果你感觉你的文本编辑器功能有限，这是一个不错的选项。以下是一些流行的 IDE：

* Aptana Studio
* Eclipse
* Komodo IDE
* NetBeans IDE
* Visual Studio
* WebStorm

#### 当使用文本编辑器时我需要支持或者帮助吗？

如果在使用软件时可以获得帮助总是令人高兴的。对于文本编辑器，请检查两种不同类型的支持：

1. 面向用户的内容（常见问题，指南，在线帮助）
2. 与开发者和其他用户讨论（论坛，电子邮件，IRC）

在学习如何使用编辑器时使用书面文档。如果在安装或使用编辑器时遇到了疑难问题，请与其他用户联系。

#### 对我来说文本编辑器的外观和感觉重要吗？

这个问题在于个人品味，但有些人喜欢自定义 UI（用户界面）的每一个细节，从颜色到按钮位置。编辑器的灵活性差异很大，所以选择前先检查一下。找到一个可以改变配色方案的文本编辑器并不难，但是如果你想要大量的自定义，你可能最好使用 IDE。

### 安装并设置

安装文本编辑器通常很简单。方法根据你的平台而有所不同，但都不难：

* **Windows** 开发人员会给你一个 `.exe` 或 `.msi` 文件。也有时候，软件为自带的压缩归档格式 `.zip`、`.7z` 或 `.rar`，在这种情况下，你需要安装其他程序来提取压缩文件的内容。Windows 默认情况下支持 `.zip`。
* **Mac** 在编辑器的网站上，可以下载一个 `.dmg` 文件。也可以直接在 Apple Store 找到一些文本编辑器，安装过程更简单。
* **Linux** 在最受欢迎的发行版中，你可以从图形包管理器（Ubuntu Software Center、mintInstall、GNOME Software 等）开始。你通常可以发现一个预先包装软件的 `.deb` 或 `.rpm` 文件，但大多数时候你将使用你的发行版系统的存储库服务器，或者在最坏的情况下，从源代码编译编辑器。花时间仔细检查文本编辑器网站上的安装说明。

当安装新的文本编辑器时，你的操作系统可能会继续使用其默认编辑器打开文本文件，直到更改文件关联。这些说明将帮助你在指定操作系统中双击打开文件时选定首选编辑器：

* Windows
    + Windows 8
    + Windows 7
    + 更旧的系统
* Mac OS X
* Linux
    + Ubuntu Unity
    + GNOME
    + KDE
下一步
---

现在你已经选择了一个合适的文本编辑器，可以花一些时间来搭建基本工作环境，或者，如果想立即使用它，可以写下你的第一个网页。