国产编辑器EverEdit - 兼具小巧、灵活、强大的语法着色管理

1 设置-语法着色

1.1 应用场景

  EverEdit虽然已经内置了大量的语法着色文件,但仍然不能覆盖所有的行业,如果您正在工作的行业特殊文件没有被EverEdit收录,您可以自行编写语法着色文件,并达到和主流编程语言一样的显示和辅助效果。

  本文以作者日常使用的awk语言为例,介绍如何编写自己行业的语法着色文件。

1.2 准备工作

在编写语法文件前,先思考以下几个问题

  • 文件扩展名 必选:源文件使用什么扩展名? 是否没有扩展名?
  • 是否有定制工具 可选:使用特定的可执行程序对源文件进行编译/解释/调试?
  • 是否有模式工具 可选:模式工具是对特定的源文件类型定制的一组工具集合
  • 如何分析大纲 可选:使用正则表达式简单提取函数名?还是使用ctags分析?或者自己编写分析脚本?
  • 定义哪些代码片段 可选:代码片段是一类小段代码集合,具有高复用性,可以提高工作效率。参考:代码片段管理
  • 关键字清单 必选:关键字、内置函数、内置变量/宏、关键字是否大小写敏感
  • 括号匹配 可选:(), \[\], {}等。
  • 注释规则 可选:行注释、块注释规则。
  • 字符串规则 可选:引号/单引号或其他特殊规则。
  • 代码折叠规则 可选:代码折叠开始规则、代码折叠结束规则。

1.3 使用方法

1.3.1 基本配置

  1. 步骤1 :选择主菜单工具 -> 设置 -> 语法着色,弹出如下窗口

  2. 步骤2 :单击添加按钮,并进行参数设置

  • 标题:设置语法文件名称,比如:AWK
  • 语法文件:语法文件定义了关键字高亮,行注释/块注释,折叠规则等,语法文件保存在EverEdit安装目录的syntax文件夹。
  • 扩展名:源文件的扩展名,比如:AWK语言的源文件扩展名为"awk"。
  • 制表符:表示制表符的宽度(占几个英文字符),推荐配置为4。
  • 使用空格代替制表符:即在源文件中不出现制表符,用户按下Tab键会插入4个空格(根据制表符参数配置的数目)。
  • 列标记:在编辑窗口的指定列显示"竖线",参考:符号显示详解
1.3.1.1 扩展名补充配置

  扩展名是识别文档类型的关键配置,文件如果没有扩展名,将无法判断文件类型,也无法显示语法高亮,此时默认会按TXT文件格式显示(没有高亮)。

  EverEdit额外补充了根据文件内容判断文档类型的功能,但只能判断文件首行。

单击更多按钮,会弹出语法着色匹配规则窗口:

  • 文件名的匹配规则:优先级最高的规则是文件名规则 ,比如:*.awk,表示所有以"awk"扩展名结尾的文件都按AWK文档类型处理。
  • 文件首行的匹配规则:设置正则表达式,如果文件首行匹配这个正则表达式,则认为是AWK文档类型。该规则只有在文件名没有匹配成功时才会生效,可以判断某些没有文件扩展名的文档类型。

🕮说明
为什么通过文件首行可以判断文件类型?
一般在Linux系统编写脚本,首行都会有一条特殊注释,它告诉系统用哪个命令来执行该文件,如果缺失该注释,脚本将无法运行。
示例1 :Linux下的Bash脚本,文件首行必须有
#! /bin/bash

示例2 :Linux下的awk脚本,文件首行必须有
#! /bin/awk

  配置首行匹配规则后,使用EverEdit打开没有扩展名的awk文件也可以正常显示语法高亮 ,如下图所示:

1.3.2 配置工具与大纲

  1. 步骤1 :在语法着色窗口单击高级按钮,弹出高级窗口,如下图所示:

  2. 步骤2 :设置工具和模式【可选】
    工具分组参考:外部工具

    设置工具分组后,工具栏上的外部工具按钮会根据文档类型只显示对应的工具分组,如下图所示:

注:主菜单上的外部工具不会根据文档类型显示或隐藏。

模式将在后续章节介绍。

  1. 步骤3 :设置帮助文件【可选】

    帮助文件为chm格式文件,设置帮助文件后,选择主菜单帮助 -> 关联帮助会打开对应文档类型的帮助文件。

  2. 步骤4 :设置大纲视图【可选】

    大纲视图的配置方法可以参考:大纲视图

其他配置:

  • 语法着色的单行最大长度:该值建议保持默认设置,设置过大会影响语法解析性能。
  • 保存时自动删掉行尾的空格:删除行尾空格,减少文件体积,确保源文件干净。
  • 保存时确保最后一行有一个空白行:文件末尾保留一个空行,这个设置主要是为了保证兼容性,早期部分编辑器或C/C++编译器要求源文件末尾以空行结束,否则编译时会出现告警。

1.4 编写语法着色文件

  一般不建议从0开始编写语法文件,很多语言的语法文件都相通,可以在syntax目录拷贝一份进行修改。

语法着色文件编写指导:语法着色

如果上述链接访问故障,可以尝试访问:语法着色-博客园


文档作者声明:本文档仅用于学习交流,未经作者许可,不得将本文档用于其他目的。

Copyright © 2022~2024 All rights reserved.

相关推荐
iCxhust19 小时前
8088单板机VScode集成开发环境使用方法
ide·笔记·vscode·编辑器·微机原理·8088单板机
流浪打工人1 天前
Unity3D编辑器初始化场景物体
编辑器
Molesidy1 天前
【VSCode】基于win10系统老版本和VSCode最新版本下出现的VSCode内置的终端窗口不能运行的问题的解决方案
ide·vscode·编辑器
weixin_469273812 天前
.md文件是什么?.md如何打开?
前端·编辑器
W_chuanqi2 天前
VSCode + Claude Code + DeepSeek:打造 AI 编程神器
ide·vscode·编辑器·ai编程
凌云拓界3 天前
NodeVerdict | .ndv 二进制格式:为 WASM 解码器设计的紧凑布局
安全·架构·开源·node.js·编辑器·软件工程·wasm
New_Horizons6663 天前
远程linux终端中支持vscode的code命令
ide·vscode·编辑器
ElasticPDF-新国产PDF编辑器3 天前
【最新·免费PDF编辑器·不限终端·最高性价比SDK】高亮、评论、图章、手绘与签名,一套完成 PDF 批注
pdf·编辑器
AttackingLin4 天前
VScode Claude Code 插件配置第三方api
ide·vscode·编辑器
码农爱学习4 天前
VSCode的Markdown插件哪个好用
ide·vscode·编辑器