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