我必须承认,我花了相当长的时间才真正开始每天使用 Linux。我回忆起那些迷茫岁月中的一件事,那就是看到开源人士对文本编辑器如此激动,这真是太奇怪了。
不仅仅是意见分歧。争论非常激烈。而且你会一次又一次地看到它们。
我的意思是,我想这有点道理。进行开发或管理工作意味着你花费大量时间使用文本编辑器。当它妨碍你或者 无法完全满足你的需求时?在那个确切的时刻,那是世界上最令人沮丧的事情。
我知道真正讨厌文本编辑器是什么感觉。多年前,我在大学的计算机实验室里尝试使用 Emacs 时就体会到了这一点。我非常震惊,一个软件竟然可以有如此多的施虐受虐意味。人们竟然故意对彼此这样做!
所以,也许这是一个成年礼,现在我有一个非常喜欢的编辑器。它叫做 Geany,它基于 GPL 协议,并且在大多数流行的发行版的软件仓库中。
这就是它适合我的原因。
我喜欢简洁
我对文本编辑器的主要需求就是编辑文本。我不认为应该有任何学习曲线。我应该能够打开它并使用它。
因此,我通常使用操作系统自带的编辑器。在 Windows 10 上,我使用记事本的时间比我应该用的时间要长得多。当我最终更换它时,我选择了 Notepad++。在 Linux 终端中,我喜欢 Nano。
我完全意识到我错过了很多有用的功能。但这从来都不是一个足以让我做出改变的痛点。而且,并不是说我从未尝试过更复杂的东西。我最早的一些实际编程是在 Visual Basic 和 Borland Delphi 上完成的。
这些开发环境为你提供了一个图形界面,可以直观地设计你的窗口,各种窗口可以让你配置属性和设置,一个文本界面可以编写你的函数,以及各种用于调试的零碎功能。这是一种构建桌面应用程序的好方法,只要你按照它 intended 的方式使用它。
但是,如果你想做一些作者没有预料到的事情,所有这些额外的活动部件突然就成了障碍。随着软件越来越关注网络和互联网,这种情况开始频繁发生。
过去,我使用 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 条评论