当前位置: 首页 > article >正文

国产编辑器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.


http://www.kler.cn/a/580955.html

相关文章:

  • nodejs学习笔记
  • 时序数据库TimescaleDB基本操作示例
  • LWIP网络模型及接口简介(DAY 01)
  • 深入探索 Rust 的高级 Traits
  • 软件安全分析与应用之漏洞利用(一)
  • Java 大视界 -- Java 大数据在智能医疗药品研发数据分析与决策支持中的应用(126)
  • 英语学习(GitHub学到的分享)
  • SWC中的显式读写(DataReceiveByValue/DataSendPoint)
  • 序列化和反序列化(Linux)
  • Windows批处理脚本入门教程
  • 如何设置GET请求的参数?
  • Spring Boot中的YML配置列表的详细解析
  • CSS 权重:优先级规则
  • 《计算机图形学》第一课笔记-----opengl开发环境搭建
  • [machine learning] DP(Data Parallel) vs DDP(Distributed Data Parallel)
  • 【神经网络】python实现神经网络(二)——正向推理的模拟演练
  • Fedora41安装MySQL8.4.4
  • MYSQL学习笔记(十一):MYSQL数据类型讲解
  • 如何在 React 中实现错误边界?
  • 【简答题002】Java变量简答题