我觉得编辑问题没有得到充分解决。许多与此相关的答案都是以Windows为中心的,因此请允许我从更广泛的立场背景讨论文本编辑器。我会承认我的偏见:我使用OS X,我喜欢Linux,我使用vim,我喜欢emacs。我不喜欢IDE,我不喜欢使用封闭源代码软件,尽管我承认我从未深入研究过我使用的源代码。不过,有一天我会。我发誓。
Linux的权威文本编辑器是vim和emacs,两者都经常在命令行中使用,但两者都有非常精彩的图形版本。我个人是一个vim man,但是有一个适合我的原生环境(OS X)的GUI,我真的很喜欢emacs(好吧,Aquamacs),特别是对于Perl。我个人觉得vim更容易使用,无论是作为命令行编辑器还是作为IDE,我都不会觉得emacs是一个命令行编辑器。作为奖励,emacs和vim都可以用于Windows,并且在基于Unix的平台上几乎无处不在。两者都具有针对大多数主要语言的语法突出显示,并且是完全可扩展的,因此您可以找到许多语言的语法定义,甚至可以相当快地编写自己的语法定义。我建议你稍微看一下它们,找到你最喜欢的那个,并且学习得很好。 Emacs是GNU GPL下的开源软件,vim是一个慈善软件许可证的开源软件,要求你为乌干达的孩子们提供食物,但这仍然是非常像GPL的。
很多人都会赞扬Eclipse IDE的优点,特别是在Java中。 Eclipse是一个成熟的IDE,与vim和emacs不同,它们开销很小,允许你像大型应用程序一样轻松编写快速shell脚本,有些人发现它们的工作有点麻烦,但它非常适合其他人。这取决于你跌倒的地方。在Web开发中,您可以采用任何一种方式。在Unix传统中,我倾向于选择更精简的文本编辑器和大型IDE,但是一些来自Windows背景的人更喜欢IDE的功能。 Eclipse具有良好的Java语法突出显示,以及许多其他流行语言和/或语法与Java非常相似的语言。期待良好的C和C ++突出显示,以及可能很好的Perl和PHP突出显示。 Eclipse是一个开放源代码,其许可证的Copyleft规定比GPL弱,并且更加“商业友好”,无论这意味着什么。
Notepad ++是一个令人惊叹的Windows文本编辑器。当我不得不在Windows上进行少量工作时,我非常喜欢使用它,这使得我在Windows机器上花费的时间几乎令人愉快(我完全承认我的偏见)。它与整体Windows“感觉”很好地兼容,OS X程序一起工作,它支持很多语言(虽然我只能证明Perl的质量)。唯一(在我看来,最大可能)的缺点是它只适用于Windows。理论上你可以在Linux上用Wine工作,但我不能说Wine是这类问题的最佳解决方案(尽管如果它对你有用,那就去吧)。 Notepad ++是GNU GPL下的开源软件。
很多人喜欢Visual Studio。我在Visual Studio中最大的优点是它是封闭源代码,但我没有亲自尝试过,因为我几乎从不使用Windows,所以我既不能赞美它的优点,也不能谴责它的失败。我敢肯定这是一个很棒的IDE,我只是不喜欢IDE而且我不喜欢闭源软件。有些人认为它是Windows上最好的编辑器,所以我不能完全不提它。我所能说的就是问别人。
这变得越来越大,所以我要继续发布这个。这绝不是Windows和Linux可用的文本编辑器的明确列表,只是我所知道的一些更受欢迎的文本编辑器的简要说明。如果有人注意到我忘了任何重要的东西,只需评论,我可能会添加它。