首页>教程>Linux 命令手册> 交互式文件编辑 >Linux jed 命令 - 轻量级可扩展文本编辑器

Linux jed 命令 - 轻量级可扩展文本编辑器

jed 命令(John E Davis 作者姓名的缩写)是一款轻量级的可扩展的文本编辑器,支持在终端内运行与启动图形界面运行,具备语法高亮、可以模拟多种编辑器的快捷键、还支持 S-Lang 脚本扩展与批量处理,是一款非常好用的交互文本编辑器。

安装 jed

Linux 的各发行版中默认不不预装 jed 命令,可以使用如下命令安装 jed:

Debian / Ubuntu 系安装 jed

Debian / Ubuntu 系发行版使用如下命令安装 jed:

# 更新软件源
sudo apt update

# 安装 jed 全套组件
sudo apt install jed xjed -y

RHEL / AlmaLinux / Rocky Linux 系安装 jed

RHEL / AlmaLinux / Rocky Linux 系发行版使用如下命令安装 jed:

# 更新软件源
sudo dnf check-update

# 安装 jed 全套组件
sudo dnf install jed xjed -y

相似功能命令对比

  • vim / vi:经典的全能的终端编辑器,插件丰富,但是学习成本较高
  • nano:简易的入门编辑器,操作简单,支持的功能也有限
  • jed:轻量高效的编辑器,支持模拟多种编辑器的快捷键,可以使用 S-Lang 脚本扩展功能,兼顾易用性与扩展性

jed 命令语法

jed 命令其实是一个命令集,包含多个命令,其具体的语法形式如下:

jed --version
jed-script --version
xjed --version

jed [--secure] [--batch|--script|--help] [次要选项] 文件 ...
jed-script [--secure] 脚本文件 [脚本参数] ...
xjed [--secure] [X11 选项] [--batch|--script|--help] [次要选项] 文件 ...

语法各组成部分的详细说明:

  • jed:在终端使用的交互式命令
  • jed-script:专用的脚本执行程序,等价于使用 jed --script
  • xjed:X11 图形界面版本的 jed
  • --version--secure--batch--script--help:会在选项部分解释
  • [次要选项]:用于执行行跳转、配置加载、搜索等功能的选项
  • 文件 ...:需要编辑的目标文件,支持同时打开多个文件
  • [脚本参数]:传递给 S-Lang 脚本的自定义参数
  • [X11 选项]:只有 xjed 命令支持的图形界面的选项

jed 命令快捷键详解

快捷键符号说明

按键说明:

  • M-: 「带 -」先按 Esc 键Alt 键 后(一个键如果不起作用,换另一个键),松开该键后,再按后面的键
  • ^: 「不带 -」按住 Ctrl 键的同时按后面紧随的一个键,如果是紧随的两个字母,松开前面的按键,再按第二个字符,如果后面紧随的是 ^ + 字母,松开前面的,同时按住后面的键
  • ^-: 「带 -」先按 Ctrl 键后,松开该键后,再按后面的键

[!NOTE]

进入顶部的菜单默认的快捷键是 F10,但是很多的终端也启用了该快捷键,默认会优先捕获。所以可以使用 M-,然后再按对应菜单的首字母,使用 xjed 时也可以使用鼠标点击。

具体的快捷键对应表

jed 命令支持 Emacs / IDE / CUA 三种键位模式,其具体的快捷键为:

操作功能Emacs 键位IDE 键位CUA 键位
退出 jed^X^C^KxM-Q
退出命令输入^G^G^G
挂起编辑器^Z^Kz
------------
打开文件^X^F^Ke / F3^O
插入文件^Xi^KiM-I
保存文件^X^S^Kd / F2^S
另存为^X^W^Ks
关闭文件^Xk^Kq / M-F3
切换缓冲区^Xb^Kp / F6
------------
光标左移一个单词M-b^AM-Left
光标右移一个单词M-f^FM-Right
把光标移动到行首^A^Qs^A
把光标移动到行尾^E^Qd^E
向上翻页M-c^R^P
向下翻页^V^C^N
把光标移动到文件头部M-<^QrM-^A
把光标移动到文件尾部M->^QcM-^E
跳转到指定行M-X goto_line_cmd^QiM-X goto_line_cmd
------------
删除左侧字符^H / BS^H / BS^H / BS
删除右侧字符^DM-g^D
删除左侧单词M-DELM-BS^-Bs
删除右侧单词M-d^T^-Del
删除整行^A^K^Y^K
删除内容到行尾^K^QyM-K
撤销*^Xu^U^Z
重做^G^Xu^G^U^G^Z
------------
搜索^S^Qf^F
替换M-%^Qa^R
重复搜索^L
------------
开始选中区域^@ / ^-SPACE^KbShift-arrow
剪切^W^Ky^X
复制M-W^Kh^C
粘贴^Y^Kc^V

[!WARNING]

如上的快捷键可能在各发行版中略有不同。

全模式通用增强快捷键

快捷键功能
^_撤销操作
M-q格式化段落
M-n收缩段落
M-\去除前后的空白字符
M-!执行 shell 命令
M-$执行单词拼写检查
M-u把单词转为大写
M-c把单词的首字母大写
M-.查找代码标签

命令示例

所有示例均标注选项规则核心功能,严格遵循原文参数使用规范:

编辑文件

不使用任何的选项,指定需要编辑的文件会编辑指定的文件:

jed test.txt

打开文件并跳转到指定行

可以使用 +n 选项打开文件后跳转到指定的行:

jed +15 test.txt

[!NOTE]

+n 选项必须放在文件的前面。

查询 jed 版本信息

执行如下命令查看版本信息:

jed --version

启动安全模式编辑文件

使用 --secure 选项启用安全模式来编辑文件:

jed --secure test.c

[!NOTE]

该选项会禁止使用 system()run_shell_cmd() 执行外部命令。

加载 S-Lang 代码文件

使用 -l 文件 选项加载指定 S-Lang 脚本来扩展编辑器的功能:

jed -l ~/.sl/custom.sl main.c

执行指定 S-Lang 函数

使用 -f 函数名 来执行指定的 S-Lang 函数:

jed -f save_buffer doc.txt

启动时分割编辑窗口

使用 -2 选项把缓冲区分为两个窗口:

jed -2 test.c

jed 命令选项详解

jed 的选项包含主要选项、次要选项、X11专属选项等多种类型的选项,如下给出其所有选项的解释说明:

主要选项

jed 命令包含如下主要选项:

选项功能说明
--version打印版本信息与编译时变量,jed / jed-script / xjed 三个命令通用
--help打印命令的使用说明
--secure启用安全模式,禁止通过 system()run_shell_cmd() 执行外部命令
--batch启动批量非交互模式
--script启动脚本非交互模式,不加载启动文件,等价于使用 jed-script

次要选项

jed 命令包含如下次要选项:

选项功能说明
-n不加载用户的默认配置文件 ~/.jedrc
-a FILE指定自定义文件作为用户的配置文件,替代默认的 .jedrc
+ N打开文件后跳转到第 N 行,该选项必须放在文件名的前面
-g N跳转到缓冲区的第 N 行,该选项必须放在文件名的后面
-l FILE把加载文件作为 S-Lang 脚本代码对待
-f FUNCTION执行指定的 FUNCTION S-Lang 函数
-s STRING在缓冲区中向前搜索指定的字符串
-2启动时自动分割编辑窗口
-i FILE将文件 FILE 中的内容插入到当前编辑的缓冲区中

xjed 专属 X11 选项

xjed 命令包含如下的专属 X11 选项:

选项功能说明
-display DISPLAY指定 X11 显示设备
-name NAME设置程序的名称
-fn FONT设置界面的字体
-geometry GEOM设置窗口的大小与位置
-facesize SIZE-fs SIZE设置字体的大小(需 XRENDERFONT 支持,配合 -fn 可缩放字体)
-foreground COLOR-fg COLOR设置界面的前景色
-background COLOR-bg COLOR设置界面的背景色
-fgMouse COLOR-mfg COLOR设置鼠标指针的前景色
-bgMouse COLOR-mbg COLOR设置鼠标指针的背景色
-Iconic-ic启动时最小化窗口
-title NAME设置程序窗口的标题

[!NOTE]

如果想要查看更多的关于 jed 命令的使用方法请查看 jed 使用手册

缓冲区状态行标识含义

  • **:缓冲区内容已修改未保存
  • %%:缓冲区为只读模式
  • m:已设置标记,正在定义选区
  • d:磁盘文件已更新,缓冲区的内容滞后
  • s:位置标记已推送
  • +:缓冲区开启撤销功能
  • [Narrow]:缓冲区已收缩至指定区域
  • [Macro]:正在定义宏

配置文件路径

  • JED_ROOT/lib/*.sl:默认的运行时 S-Lang 文件
  • JED_ROOT/lib/site.sl:默认的启动文件
  • /etc/jed.rc:系统级配置文件
  • ~/.jedrc:用户级配置文件

结语

jed 是一款轻量化、可模拟多种编辑器快捷键的编辑器,它支持使用 S-Lang 脚本扩展其功能,可以以安全模式、批量、脚本模式启动来满足不同的使用需求,同时还提供了终端命令和图形界面命令,非常的好用。