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 --scriptxjed: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 | ^Kx | M-Q |
| 退出命令输入 | ^G | ^G | ^G |
| 挂起编辑器 | ^Z | ^Kz | 无 |
| --- | --- | --- | --- |
| 打开文件 | ^X^F | ^Ke / F3 | ^O |
| 插入文件 | ^Xi | ^Ki | M-I |
| 保存文件 | ^X^S | ^Kd / F2 | ^S |
| 另存为 | ^X^W | ^Ks | 无 |
| 关闭文件 | ^Xk | ^Kq / M-F3 | 无 |
| 切换缓冲区 | ^Xb | ^Kp / F6 | 无 |
| --- | --- | --- | --- |
| 光标左移一个单词 | M-b | ^A | M-Left |
| 光标右移一个单词 | M-f | ^F | M-Right |
| 把光标移动到行首 | ^A | ^Qs | ^A |
| 把光标移动到行尾 | ^E | ^Qd | ^E |
| 向上翻页 | M-c | ^R | ^P |
| 向下翻页 | ^V | ^C | ^N |
| 把光标移动到文件头部 | M-< | ^Qr | M-^A |
| 把光标移动到文件尾部 | M-> | ^Qc | M-^E |
| 跳转到指定行 | M-X goto_line_cmd | ^Qi | M-X goto_line_cmd |
| --- | --- | --- | --- |
| 删除左侧字符 | ^H / BS | ^H / BS | ^H / BS |
| 删除右侧字符 | ^D | M-g | ^D |
| 删除左侧单词 | M-DEL | M-BS | ^-Bs |
| 删除右侧单词 | M-d | ^T | ^-Del |
| 删除整行 | ^A^K | ^Y | ^K |
| 删除内容到行尾 | ^K | ^Qy | M-K |
| 撤销* | ^Xu | ^U | ^Z |
| 重做 | ^G^Xu | ^G^U | ^G^Z |
| --- | --- | --- | --- |
| 搜索 | ^S | ^Qf | ^F |
| 替换 | M-% | ^Qa | ^R |
| 重复搜索 | 无 | ^L | 无 |
| --- | --- | --- | --- |
| 开始选中区域 | ^@ / ^-SPACE | ^Kb | Shift-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 脚本扩展其功能,可以以安全模式、批量、脚本模式启动来满足不同的使用需求,同时还提供了终端命令和图形界面命令,非常的好用。