我必须承认,我花了相当长的时间才真正开始将 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 条评论