妙用编辑器:把EverEdit打造成一个编程学习小环境

news2025/1/14 5:02:05

1 妙用编辑器:把EverEdit打造成一个编程学习小环境

1.1 应用场景

  最近在学习Python语言,由于只是学习和练习,代码规模很小,不想惊动PyCharmVSCodeWingIDE这些重型武器,只想轻快的敲些代码,记事本虽好,但没有语法着色,也不支持在编辑器中调用python命令,于是将手头常用的编辑器 - EverEdit进行了一翻配置,以便可以胜任编程学习。

1.2 可行性分析

  要达到简单的编程环境,要解决以下几个问题

  1. 语法着色: EverEdit内置了大量的语法着色文件,且有强大的语法解析规则,小众语言也可以定制出强大的着色,该问题[已经解决]。
  2. 调用编译器:一般在IDE中,使用快捷键F5或其他快捷键,都可以完成程序运行的工作,在EverEdit中提供了配置外部工具的能力,待尝试
  3. 输出报文捕获:调用外部程序执行后,需要将执行的结果报文显示到编辑器中,EverEdit已经具备捕获报文能力,该问题[已经解决]。
  4. 行号跳转:输出报文中,如果打印了错误信息,一般会提示行号、列号等错误位置信息,双击该行信息,自动跳转到代码中的错误行。一般的IDE都具备该功能,但文本编辑器则不一定,好在练习程序很小,这个功能不是必需。待尝试

1.3 实践

  比如作者最近要学习Python语言, EverEdit的内置语法着色文件中,已经包含了Python语法文件,所以这个问题不需要再尝试了。

1.3.1 配置编译器(解释器)

  1. 步骤1:选择EverEdit主菜单“工具 -> 外部工具”,弹出如下的窗口
    在这里插入图片描述

    1. 单击添加分组按钮,添加Python分组
    2. 单击添加按钮,添加工具
    3. 标题编辑框中输入命令名称,比如:“01. Run”
    4. 命令编辑框中输入编译器(解释器)全路径,如:“C:\Program Files\Python313\python.exe”
    5. 参数编辑框中输入传递给编译器的参数,一般Python解释器传递文件名就能正常运行,所以这里传递了${FileName}表示当前文件名,其他编译器的参数,请参考编译器的帮助文档。
    6. 初始目录编辑框中输入${FileDir},其代表当前文件的目录。
    7. 动作模式选择捕获输出(隐藏窗口),这样既可以在输出窗口中显示程序报文,也不会显示一个黑色的Dos窗口。
  2. 步骤2:设置输出报文的行号跳转

    1. 在“外部工具”窗口中,选择高级按钮,在弹出的窗口中进行设置,如下图所示:
      在这里插入图片描述

    2. 勾选使用输出定位

    3. 配置正则表达式,该表达式主要用于匹配输出报文中的文件及行列号,这里是根据Python报文编写的。

    4. 配置文件路径,和正则表达式中的分组匹配,捕获1表示第1个分组。

    5. 配置行号捕获2表示正则表达式的第2组。

    6. 保存模式选择保存当前文档,即表示执行时先保存。

  3. 步骤3:给新配置的编译器(解释器)设置快捷键

    1. 选择主菜单“工具 -> 设置 -> 快捷键”,在弹出的“快捷键管理”窗口中设置快捷键
      在这里插入图片描述

1.3.2 执行效果

输出窗口样例:
请添加图片描述


文档作者声明:本文档仅用于学习交流,未经作者许可,不得将本文档用于其他目的。
Copyright © 2022~2025 All rights reserved.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2276296.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【江协STM32】10-4/5 I2C通信外设、硬件I2C读写MPU6050

1. I2C外设简介 STM32内部集成了硬件I2C收发电路,可以由硬件自动执行时钟生成、起始终止条件生成、应答位收发、数据收发等功能,减轻CPU的负担支持多主机模型支持7位/10位地址模式支持不同的通讯速度,标准速度(高达100 kHz),快速…

初识 Git——《Pro Git》

Why Git? 1. 本地版本控制系统 Why: 许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别。 这么做唯一的好处就是简单,但是特别容易犯错。 有时候会混淆所在的工作目录,一不小心…

记一次学习skynet中的C/Lua接口编程解析protobuf过程

1.引言 最近在学习skynet过程中发现在网络收发数据的过程中数据都是裸奔,就想加入一种数据序列化方式,json、xml简单好用,但我就是不想用,于是就想到了protobuf,对于protobuf C/C的使用个人感觉有点重,正好…

使用RSyslog将Nginx Access Log写入Kafka

个人博客地址:使用RSyslog将Nginx Access Log写入Kafka | 一张假钞的真实世界 环境说明 CentOS Linux release 7.3.1611kafka_2.12-0.10.2.2nginx/1.12.2rsyslog-8.24.0-34.el7.x86_64.rpm 创建测试Topic $ ./kafka-topics.sh --zookeeper 192.168.72.25:2181/k…

MySQL(行结构)

后面也会持续更新,学到新东西会在其中补充。 建议按顺序食用,欢迎批评或者交流! 缺什么东西欢迎评论!我都会及时修改的! MySQL 一行记录是怎么存储的? | 小林coding MySQL原理 - InnoDB引擎 - 行记录存…

ros2笔记-6.2 使用urdf创建机器人模型

本节主要跟着小鱼老师的视频操作,不同的仿真平台有不同的建模语言,但是几乎都支持URDF。 本节使用URDF创建一个机器人模型。 6.2.1 帮机器人创建一个身体 URDF使用XML来描述机器人的结构和传感器、执行器等信息。 在chapt6/chap6_ws/src创建功能包:r…

基于mybatis-plus历史背景下的多租户平台改造

前言 别误会,本篇【并不是】 要用mybatis-plus自身的多租户方案:在表中加一个tenant_id字段来区分不同的租户数据。并不是的! 而是在假设业务系统已经使用mybatis-plus多数据源的前提下,如何实现业务数据库隔开的多租户系统。 这…

【JAVA基础】Collections方法的具体使用方法

java基础中Collections及collect(toList,toSet,toMap)的用法 package com.gaofeng;import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.Stream;public class demo01 {public static void main(String[] …

HDFS 的API的操作

3.1 客户端环境准备(windows) 1)拷贝hadoop-3.1.X到非中文路径(比如d:\)。 2)配置HADOOP_HOME环境变量 3)配置Path环境变量。 注意:如果环境变量不起作用,可以重启电脑试试。 也可以直接添加…

【数据库】二、关系数据库

文章目录 二、关系数据库1 关系2 关系数据库3 完整性约束4 关系运算 二、关系数据库 1 关系 域:一组具有相同数据类型的值的集合。 笛卡尔积:所有域(域可相同)中所有取值的组合 例如:D1{1,2,3},D2{A,b}&…

[笔记] 使用 Jenkins 实现 CI/CD :从 GitLab 拉取 Java 项目并部署至 Windows Server

随着软件开发节奏的加快,持续集成(CI)和持续部署(CD)已经成为确保软件质量和加速产品发布的不可或缺的部分。Jenkins作为一款广泛使用的开源自动化服务器,为开发者提供了一个强大的平台来实施这些实践。然而…

playwright 模拟登录

一、流程如下 C#代码: using Microsoft.Playwright; using Newtonsoft.Json; using System; using System.IO; using System.Net.Http; using System.Text; using System.Xml.Linq;namespace TestProject3 {[TestClass]public class UnitTest1 : PageTest{[TestMet…

使用大数据分析提升电子商务的转化率

💖 欢迎来到我的博客! 非常高兴能在这里与您相遇。在这里,您不仅能获得有趣的技术分享,还能感受到轻松愉快的氛围。无论您是编程新手,还是资深开发者,都能在这里找到属于您的知识宝藏,学习和成长…

HTB:Bastion[WriteUP]

目录 连接至HTB服务器并启动靶机 信息收集 使用rustscan对靶机TCP端口进行开放扫描 将靶机TCP开放端口号提取并保存 使用nmap对靶机TCP开放端口进行脚本、服务扫描 使用nmap对靶机TCP开放端口进行漏洞、系统扫描 使用nmap对靶机常用UDP端口进行开放扫描 使用enum4linux…

HAMi + prometheus-k8s + grafana实现vgpu虚拟化监控

最近长沙跑了半个多月,跟甲方客户对了下项目指标,许久没更新 回来后继续研究如何实现 grafana实现HAMi vgpu虚拟化监控,毕竟合同里写了需要体现gpu资源限制和算力共享以及体现算力卡资源共享监控 先说下为啥要用HAMi吧, 一个重要原…

springboot使用Easy Excel导出列表数据为Excel

springboot使用Easy Excel导出列表数据为Excel Easy Excel官网&#xff1a;https://easyexcel.opensource.alibaba.com/docs/current/quickstart/write 主要记录一下引入时候的pom&#xff0c;直接引入会依赖冲突 解决方法&#xff1a; <!-- 引入Easy Excel的依赖 -->&l…

泛目录和泛站有什么差别

啥是 SEO 泛目录&#xff1f; 咱先来说说 SEO 泛目录是啥。想象一下&#xff0c;你有一个巨大的图书馆&#xff0c;里面的书架上摆满了各种各样的书&#xff0c;每一本书都代表着一个网页。而 SEO 泛目录呢&#xff0c;就像是一个超级图书管理员&#xff0c;它的任务就是把这些…

黑马天机学堂学习计划模块

核心功能 系统设计思路 ​​​​​​​ 代码分析 1. 学习记录管理 • 存储学习记录到 Redis&#xff1a; 利用 Redis 缓存学习记录&#xff0c;减少频繁的数据库访问。 public void writeRecordCache(LearningRecord record) {String key String.format("LEARNING:R…

初学stm32 --- DAC输出三角波和正弦波

输出三角波实验简要&#xff1a; 1&#xff0c;功能描述 通过DAC1通道1(PA4)输出三角波&#xff0c;然后通过DS100示波器查看波形 2&#xff0c;关闭通道1触发(即自动) TEN1位置0 3&#xff0c;关闭输出缓冲 BOFF1位置1 4&#xff0c;使用12位右对齐模式 将数字量写入DAC_…

专题 - STM32

基础 基础知识 STM所有产品线&#xff08;列举型号&#xff09;&#xff1a; STM产品的3内核架构&#xff08;列举ARM芯片架构&#xff09;&#xff1a; STM32的3开发方式&#xff1a; STM32的5开发工具和套件&#xff1a; 若要在电脑上直接硬件级调试STM32设备&#xff0c;则…