gnu入门_GNU Emacs的轻量级替代品入门

gnu入门

我在许多服务器上工作,有时会发现未安装GNU Emacs的主机。 通常会有一个GNU Nano安装程序使我无法使用Vi ,但是我不习惯像Emacs那样使用Nano,而当我尝试保存文档时,不可避免地会遇到麻烦(Nano中的Cx代表Exit, Cs锁定Konsole)。

虽然在任何地方都可以使用GNU Emacs会很好,但是它是用于对配置文件进行简单更新的大量程序。 我对小型轻巧的emacs的需求使我无法发现MicroEmacs,Jove和Zile,这是微型,独立的emacsen ,您可以将其安装在拇指驱动器,SD卡和几乎任何服务器上,因此,永远不会没有emacs编辑器。

编辑宏

GNU Emacs ,有一批批处理脚本(称为 ),可以为用户执行常见任务。 例如,如果您经常发现自己键入“ teh”而不是“ the”,则可以手动进行更正(如果您的编辑器甚至无法将整个文档都加载到内存中,这是不小的成就) (例如1980年代初期),或者您可以调用宏以执行“ e”和“ h”的快速交换。

最终,这些宏被捆绑到一个称为“编辑宏”(简称EMACS)的程序包中。 GNU Emacs是最著名的emacsen(是的,-en后缀用于描述许多emacs,如“ oxen”一词),但它不是唯一的。 而且肯定不是最小的。 恰恰相反,GNU Emacs可能是最大的Emacs之一。

幸运的是,GNU Emacs非常流行,以至于其他emacs实现倾向于模仿大多数GNU版本的基本控件。 如果您正在寻找不是Vim的基本,快速,高效的编辑器,则对这些选项中的任何一个都可能会感到满意。

MicroEmacs

µemacs

MicroEmacs由Dave Conroy编写,也称为uemacs(在希腊字母µ中,用科学符号表示“ micro”),但是克隆和修改它的用户很多。 一个维护µemacs个人版本的用户是一个名为Linus Torvalds的程序员,他的副本可以从他的网站kernel.org (还有一个名为Linux的小型项目)中获得。

尺寸

以我可以在计算机上施加的最慢的设置,我需要五秒钟的时间来编译µemacs,结果二进制文件仅为493KB。 诚然,与GNU Emacs下载的典型大小相比,这并不是字面上的“微型”(根据我的计算,70MB的百万分之一是70字节),但是它相当小。 例如,通过电子邮件或通过Signal将其发送给您自己很容易,并且肯定足够小以方便您拥有的每个拇指驱动器或SD卡。

默认情况下,Linus的版本需要libcurses,但是您可以在Makefile中覆盖此设置,以便改用libtermcap。 生成的二进制文件足够独立,可以在大多数Linux机器上运行:


   
   
$ ldd em
linux-vdso.so.1
libtermcap.so.2 = > / lib64 / libtermcap.so.2
libc.so.6 = > / lib64 / libc.so.6
/ lib64 / ld-linux-x86- 64 .so.2

特征

键盘快捷键与您期望的一样。 您可以打开文件并进行编辑,而无需意识到自己不在GNU Emacs中。

缺少一些高级功能。 例如,尽管有水平分割,但没有垂直缓冲区分割。 没有eval命令,因此您不会在Lisp编程中使用µemacs。

搜索功能也与您惯用的功能稍有不同: Ms代替了Cs ,如果您的终端仿真器接受Ctrl + S作为冻结命令,则可能会有所不同。 µemacs的帮助页面非常完整,因此请使用Mx帮助来熟悉它的功能。

执照

µemacs的许可证是针对非商业条件的项目定制的。 您可以自由共享,使用和修改µemacs,但是您无法对其进行任何商业化。
虽然没有我通常喜欢的宽松政策,但它是个人使用的足够许可; 只是不要围绕它建立业务。

GNU Zile

GNU Zile

GNU Zile声称是用于文本编辑器的开发套件。 它旨在作为一个框架,使人们能够快速开发自己的自定义文本编辑器而无需重新发明通用的数据结构。 这是一个好主意,可能非常有用,但是由于我对自己创建编辑器没有兴趣,因此我仅使用其代码库附带的示例实现作为令人愉悦的轻量级emacs。

示例编辑器(虽然它呈现的二进制文件名为zile)的构建过程(据说称为Zemacs)是标准的Autotools过程:


   
   
$ . / configure
$ make

尺寸

从源代码编译它在一个内核上花费一分钟,而在六个内核上花费大约50秒(配置过程很长)。 最后生成的二进制文件为1.2MB,这使它成为我使用的轻量级emacsen中最重的二进制文件,但即使与不带X的GNU Emacs(在我的系统上为14MB)相比,它也相对微不足道。

在我使用的轻量级emacsen中,它也是最复杂的。 您可以通过在配置过程中禁用功能来排除某些库链接,但这是默认设置:


   
   
$ ldd src / zile
linux-vdso.so.1
libacl.so.1 = > / lib64 / libacl.so.1
libncurses.so.5 = > / lib64 / libncurses.so.5
libgc.so.1 = > / usr / lib64 / libgc.so.1
libc.so.6 = > / lib64 / libc.so.6
libattr.so.1 = > / lib64 / libattr.so.1
libdl.so.2 = > / lib64 / libdl.so.2
libpthread.so.0 = > / lib64 / libpthread.so.0
/ lib64 / ld-linux-x86- 64 .so.2

特征

与µemacs或Jove相比,Zile的行为更像GNU Emacs,但这仍然是最少的经验。 但是有些令人耳目一新的感觉:制表符完成发生在缓冲区中,您可以从迷你缓冲区中运行shell命令,并且有很多可用的功能。 但是,它绝不是GNU Emacs的替代品,而且如果您在高级功能上徘徊太远,您将发现为什么它只有1.2MB。

我一直无法找到应用程序内帮助文件,并且与其捆绑在一起的手册页非常少。 但是,如果您对Emacs感到满意,则Zile是完整的14MB(如果使用GUI则为更大)版本和极其轻量级的实现之间的良好折衷。

乔夫

Jove

乔夫(Jove)是我的第一个微型Emacs,至今仍是我发现的最小的Emacs。 对我来说,这是一个容易发现的问题,因为它随Slackware Linux一起提供,并带有一个秘密的符号链接,很快成为我个人替代Vi二进制文件的对象。 Jove是基于GNU Emacs的,但是手册页告诫绝对不要期望功能奇偶性。 我觉得朱庇特,这样一个小二进制(其实,这篇文章写于天帝版本4.17.06-9)令人惊讶的功能丰富,但毫无疑问,重命名的.emacs到.joverc 表现为你可能希望。

尺寸

我用最慢的设置(-j1)编译乔夫需要五秒钟,而使用所有内核则需要大约一秒钟。 生成的二进制文件(默认情况下令人困惑地称为jjove)仅为293KB。

Jove二进制文件足够独立,可以在大多数Linux机器上运行:


   
   
$ ldd jjove
linux-vdso.so.1
libtermcap.so.2 = > / lib64 / libtermcap.so.2
libc.so.6 = > / lib64 / libc.so.6
/ lib64 / ld-linux-x86- 64 .so.2

特征

Jove的手册页形式很好。 您还可以通过键入Mx?获得所有可用命令的有用列表 并使用空格键滚动。 如果您是emacs的新手 ,则可以运行tutorialjove来学习Jove(以及emacs)。

最常见的编辑命令和快捷键可以按预期工作。 存在一些奇怪之处。 例如,没有垂直分割,并且迷你缓冲区中的路径的制表符完成不存在。 但是,它是我发现的最小的emacs,但是它具有完整的GNU Emacs感觉。

试试Emacs

如果您只尝试过GNU Emacs,那么您可能会发现emacsen的世界比您预期的要丰富。 emacs背后有着丰富的传统,并且尝试一些其变体,衍生产品和替代实现是对emacsen的工作方式感到满意的乐趣的一部分。 了解emacs; 随处携带一些构建,您再也不必使用不合格的编辑器!

翻译自: https://opensource.com/article/20/3/lightweight-emacs

gnu入门

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
簡單來說, GNUstep 是實作 OpenStep 介面的開放軟體 (Open Source) 計劃, 目標為提供跨平台的物件導向程式開發環境. 早在 1985 年, Steve Jobs 離開蘋果電腦 (Apple) 後成立了 NeXT 公司, 並於 1988 年推出了 NeXT 電腦, 使用 NeXTStep 為作業系統. 在當時, NeXTStep 是相當先進的系統. 以 Unix (BSD) 為基礎, 使用 PostScript 提供高品質的使用者圖形介面, 並以 Objective-C 語言提供完整的物件導向環境. 儘管 NeXT 在軟體上的優異, 其硬體銷售成績不佳, 不久之後, NeXT 便轉型為軟體公司. 1994 年, NeXT 與昇陽 (Sun Microsystem) 合作推出 OpenStep 介面, 目標為跨平台的物件導向程式開發環境. NeXT 接著推出實作 OpenStep 介面的 OPENSTEP 系統, 可在 Mach, Microsoft Windows NT, Sun Solaris 及 HP/UX 上執行. 1996 年, 蘋果電腦買下 NeXT, 做為蘋果電腦下一代作業系統的基礎, OPENSTEP 系統便演進成為 MacOS X 的 Cocoa 環境. 在 1995 年, 自由軟體基金會 (Free Software Fundation) 開始了 GNUstep 計劃, 目的在實作 OpenStep 介面, 以提供 Linux/BSD 系統一個完整的程式發展環境. 但由於 OpenStep 介面過於龐大, 開發人力不足, 及許多技術在當時尚未成熟 (如 Display PostScript), 所以直到目前為止, GNUstep 才算是一個完整的程式開發環境. 儘管 OpenStep 早在 1994 年便提出, 其介面及架構在現今仍相當先進及實用, 使得開發 GNUstep 程式相當容易. GNUstep 使用 Objective-C 語言, 是 C 語言加上 SmallTalk 的物件導向的功能. 結合兩者的優點, 又不至於像 C++ 如此複雜. GNUstep 提供兩個主要的程式庫, Foundation 及 AppKit. Foundation 處理非圖形介面的部份, 如字串, 檔案, 網路, 基本資料結構, 多行緒等, 又稱之為 GNUstep Base. AppKit 則處理圖形介面的部份, 包含視窗, 使用者介面等, 又稱之為 GNUstep GUI. 由於 GNUstep 具有跨平台的特性, 有關繪圖及字型的部份, 則交由 GNUstep Back 來處理. 使用者可依所使用的作業系統, 選擇適當的後端處理 (Backend). GNUstep GUI 會自行處理與 Back 相關的功能, 程式開發者只要使用 GUI 程式庫, 便可適用於各種後端上, 完全不用考慮平台問題. 目前 GNU GCC 3.x 支援 Objective-C 語言, GNUstep 則提供 GNUstep Make 來簡化編譯 Objective-C 程式. GNUstep Make 提供類似 Makefile 的功能, 稱為 GNUmakefile. 與 Makefile 相比較之下 GNUmakefile 簡單許多.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值