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