我不得不承认,我花了相当长一段尴尬的时间才真正开始将 Linux 作为日常主力系统使用。我回忆起那些迷茫岁月中的一件事情,那就是看到开源人士对文本编辑器如此激动,这真是太奇怪了。
不仅仅是意见分歧。分歧是*激烈*的。而且你会一次又一次地看到它们。
我的意思是,我想这有一定的道理。进行开发或管理工作意味着你将花费大量时间使用文本编辑器。当它妨碍你,或者 不能完全满足你的需求时?在那一刻,那是世界上最令人沮丧的事情。
我知道真正*讨厌*文本编辑器是什么感觉。多年前,我在大学的计算机实验室里试图弄清楚 Emacs 时就体会到了这一点。我很震惊,一个软件竟然可以有如此多的施虐受虐狂的意味。人们竟然故意对彼此做这种事!
所以也许这是一个成人礼,现在我终于有了一个非常喜欢的文本编辑器。它叫做 Geany,它基于 GPL 协议,并且在大多数流行的发行版的软件仓库中。
这就是它对我有效的原因。
我喜欢简洁
我对文本编辑器的主要需求就是编辑文本。我不认为应该有任何学习曲线。我应该能够打开它并直接使用。
因此,我通常使用操作系统自带的编辑器。在 Windows 10 上,我使用记事本的时间比我应该用的时间要长得多。当我最终更换它时,我选择了 Notepad++。在 Linux 终端中,我喜欢 Nano。
我完全意识到我错过了很多有用的功能。但这从来都不是一个足以让我做出改变的痛点。而且,这并不是说我从未尝试过更复杂的东西。我最初的一些真正的编程工作是在 Visual Basic 和 Borland Delphi 上完成的。
这些开发环境为你提供了一个图形界面来可视化地设计你的窗口,各种可以配置属性和设置的窗口,一个用于编写函数的文本界面,以及各种用于调试的零碎工具。这是一种构建桌面应用程序的好方法,只要你按照它的预期方式使用它。
但是,如果你想做一些作者没有预料到的事情,所有这些额外的活动部件突然就成了障碍。随着软件越来越关注 Web 和互联网,这种情况开始频繁发生。
过去,我使用 HTML 编辑套件,如 Macromedia Dreamweaver(当时是这样称呼的)和 FirstPage 来制作静态网站。同样,我发现这些功能有时会碍事,而不是帮助。这些应用程序有自己组织项目的想法,如果你有不同的看法,那将非常麻烦。
最近,在长期中断编程之后,我开始学习大众语言:Python。我买了一本入门教程书,上面说要安装 IDLE,所以我照做了。我想我用了大约五分钟就放弃了它,转而从命令行运行解释器。它有太多需要处理的活动部件。特别是对于 HelloWorld.py 来说。
但我总是尽可能地回到 Notepad++ 和 Nano。
那么是什么改变了呢?嗯,几个月前我完全放弃了 Windows 10(万岁!)。坚持我所熟悉的,我使用了 Nano 作为我的主要文本编辑器几周。
我了解到,当你已经在命令行中,并且需要发起一次海豹突击队任务时,Nano 非常棒。你知道我的意思。闪电般的突袭。进入,完成目标,然后撤退。
对于长期战役——甚至中等长度的战役,它都不太理想。即使只是向静态网站添加一个新页面,也需要进行许多重复的击键操作。在其他方面,我真的很怀念能够用鼠标导航和选择文本。
介绍 Geany
Geany 项目始于 2005 年,至今仍在积极开发中。
它具有最少的依赖项:只有 GTK 工具包 和 GTK 依赖的库。如果你安装了任何类型的桌面环境,那么你的机器上几乎肯定安装了 GTK。
我在 Xfce 上使用它,但由于这些最少的依赖项,Geany 可以跨桌面环境移植。
Geany 快速而轻巧。从软件包管理器安装 Geany 只需片刻,并且在我的机器上仅占用 3.1MB 的空间。
到目前为止,我已经使用它来编辑 HTML、CSS 和 Python,以及配置文件。它还识别 C、Java、JavaScript、Perl 和更多。
毫不妥协的简洁性
Geany 有很多很棒的功能,让生活更轻松。仅仅列出它们就会错过最精彩的部分,那就是:Geany 开箱即用。一旦安装完成,你就可以立即开始编辑文件,而且它就是能用。
对于所有的 IDE 功能,没有一个会碍事。默认设置设置得很智能,菜单布局也足够好,更改它们毫不费力。
它不会试图为你组织你的项目,也不会对你应该如何做任何事情有强烈的意见。
漂亮地处理空白
默认情况下,每次你按下 Enter 键时,Geany 都会在新行上保留缩进。除了节省一些繁琐的击键操作外,它还避免了制表符和空格的不一致使用,这些不一致有时会在你心不在焉时潜入,并使你的代码对于使用不同文本编辑器的任何人来说都难以理解。
但是,如果你正在编辑一个已经遭受过这种处理的文件怎么办?例如,我需要编辑一个 HTML 文件,该文件使用制表符和空格混合缩进,这使得弄清楚标签是如何嵌套的成为一场噩梦。
使用 Geany,只需几秒钟就可以在菜单中找到将制表符长度从四个空格更改为八个空格的选项。更好的是,可以选择将这些制表符转换为空格。问题解决了!
巧妙的快捷方式和自动化
你有多常在错误的行上编写正确的代码?我总是这样做。
Geany 可以使用 Alt+PgUp 和 Alt+PgDn 轻松地上下移动代码行。这比普通的剪切和粘贴要好一点——你只需要按一次键,而不是四五个。
在编写 HTML 代码时,Geany 会自动为你关闭标签。除了节省时间外,这还避免了很多烦人的错误。当你忘记关闭一个标签时,你可能会花费大量时间在文档中搜索更复杂的东西。
在 Python 中,情况变得更好,因为缩进是*至关重要*的。每当你在一行末尾使用冒号时,Geany 都会自动为你缩进。
一个不错的小副作用是,当你忘记包含冒号时——我经常尴尬地忘记——当你没有得到你期望的自动缩进时,你会立即意识到这一点。
默认缩进是单个制表符,而我更喜欢两个空格。由于 Geany 的菜单布局非常合理,我只花了很短的时间就弄清楚了如何更改它。
当然,你也会得到语法高亮显示。此外,它还会跟踪你的变量作用域并提供有用的自动完成功能。
大型插件库
Geany 有一个大型插件库,但到目前为止我还没有需要尝试任何插件。即便如此,我仍然感觉我从中受益。怎么做到的?好吧,这意味着我的编辑器没有塞满我不使用的功能。
我认为这种将额外功能添加到大型插件库中的态度是一种很棒的理念——无论你的具体需求是什么,你都可以拥有你想要的所有东西,而没有你不想要的东西。
远程文件编辑
终端文本编辑器真正好的一点是,在远程 shell 中使用它们没有问题。
Geany 也完美地处理了这一点。你可以像打开自己机器上的文件一样轻松地打开任何你有 SSH 访问权限的远程文件。
我最初遇到的一个挫折是我似乎只能使用用户名和密码进行身份验证,这很烦人,因为证书要好得多。事实证明,这只是因为我太菜了,把证书放在我的主目录而不是 ~/.ssh 中。
远程编辑 Python 脚本时,当使用安装在服务器上而不是本地机器上的软件包时,自动完成功能不起作用。对我来说,这真的没什么大不了的,但它确实存在。
总结
文本编辑器是如此个人化的偏好,以至于适合不同人的编辑器也会有所不同。
如果你已经知道你想写什么,并且想立即开始,同时享受大量有用的快捷方式来加速繁琐的部分,那么 Geany 非常出色。
Geany 是一种鱼与熊掌兼得的好方法。
14 条评论