学习在 Linux 上使用 JOE 文本编辑器
创始人
2024-03-02 06:16:44
0

Joe’s Own Editor (JOE)是一款简单易学和使用的通用文本编辑器。

我很喜欢那些能让你轻松学会如何使用的文本编辑器。GNU nano 是我最喜欢的例子:你启动 nano,你会在整个会话的窗口底部看到一个最常用的命令列表。Joe’s Own Editor(简称 joe)是另一个很好的例子。

joe 编辑器使用了一个基于终端的界面,提供了简单的文本编辑功能和一个易于访问的帮助屏幕。它用 C 语言编写,体积小,只对 libc 有硬性依赖(ncurses 是可选的),并且采用 GPL 许可证。

安装

在 Linux 上,你也许能在你的发行版软件仓库中找到 JOE。虽然它有点小众,并不是所有的发行版都打包了它。如果是这样的话,你可以从 SourceForge 下载源码,然后自己编译。这是个简单的过程:

$ ./configure
$ make
$ sudo make install

使用 JOE

据其作者介绍,JOE 的灵感来自于一个叫 WordStar 的应用和 GNU Emacs。它的大部分基本编辑键都与 WordStar 的快捷键相同,编辑器本身也在努力向 WordStar 靠拢。JOE 也有 GNU Emacs 的一些键绑定和功能。这种两种灵感来源的混合有时会让人迷惑,但话又说回来,在任何情况下,让自己离开 Emacs(或你通常选择的文本编辑器)都会让人迷惑。重要的是,JOE 提供了帮助,而且很容易访问。

在 JOE 界面右上角,有一个持续的提示,你可以按 Ctrl+K,紧接着按 H 来查看帮助界面。这是一个切换键,所以一旦你激活它,帮助屏幕就会一直显示在你的编辑器窗口顶部,直到用同样的组合键(JOE 中的键盘符号为 ^KH)解除。

键盘快捷键

尽管 JOE 的作者在模拟 WordStar 用户体验方面非常自豪,但我不得不承认,这对我来说是失落的。我从来没有听说过 WordStar,直到我在 JOE 的文档中读到了它,在我看来,它的键盘快捷键方案完全是任意的。有的用 Ctrl+K 作为转义序列的前缀,有的用 Esc 作为前缀,还有的完全不需要转义序列。我无法确定其中的逻辑。编辑操作和应用选项一样,都有可能需要或不需要转义序列,而且字母关联对我来说是没有什么意义(例如,Ctrl+K D 代表另存为)。

幸运的是,JOE 可以让你在键盘快捷键上作弊。安装后,JOE 会悄悄为 joe 可执行文件创建一些符号链接。包括:

  • jmacs JOE 使用 Emacs 键绑定
  • jpico JOE 使用 Pico (或 GNU nano) 键绑定
  • rjoe JOE 的编辑只限于启动时传递给 JOE 的文件
  • jstar JOE 使用 WordStar 键绑定

Black terminal with white text showing WordStar key bindings

持久保留的帮助菜单仍然存在,所以如果你不清楚有哪些功能可以使用,可以通过屏幕右上方的帮助提示来参考。当然,在 Pico/nano 模式下,主要命令总是可见的。

尝试 JOE

JOE 并不是一个你永远不会离开的文本编辑器,它不会成为你的 IDE、电子邮件客户端、网络浏览器和文件管理器。事实上,它甚至可能不是你所有任务的主要文本编辑器。它专注于做好一件事,那就是成为一般的文本编辑。

JOE 拥有你所需要的所有基本功能,比如能够快速浏览你的文本、能够选择文本、复制和粘贴等等。试试 JOE 吧,使用你喜欢的符号链接。


via: https://opensource.com/article/20/12/joe

作者:Seth Kenlon 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

如何在CentOS系统上安...
(三)搜索并安装 Sublime Text 现在就可以开始找 Su...
2025-02-24 21:17:37
不同在线代码编辑器和Chr...
在不同的在线代码编辑器和Chrome浏览器本身上,JavaScri...
2025-01-10 00:01:35
不同的Tiptap编辑器实...
这个问题可以通过在Tiptap实例中传递新的Keymap,强制让T...
2025-01-08 19:32:03
不同的LaTex编辑器是否...
不同的LaTex编辑器是可以相互兼容的,因为LaTex语言本身是一...
2025-01-08 16:01:27
不同的编辑器或集成开发环境...
在不同的编辑器或集成开发环境(IDE)中,Python的写法基本上...
2025-01-08 12:00:35
不使用Unity编辑器进行...
是的,可以使用其他代码编辑器进行Unity游戏开发,而不使用Uni...
2024-12-29 12:31:07

热门资讯

使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
Bazzite:专为 Stea... 为 Linux 桌面或者 Steam Deck 做好游戏准备,听起来都很刺激!对于一个专为 Linu...
Motrix:一个漂亮的跨平台... 一个开源的下载管理器,提供了一个简洁的用户界面,同时提供了跨平台操作的所有基本功能。在这里了解关于它...
Bash 脚本中如何使用 he... here 文档 here document (LCTT 译注:here 文档又称作 heredoc ...
使用 dialog 和 jq ... 为何选择文字用户界面(TUI)?许多人每日都在使用终端,因此, 文字用户界面 Text User I...