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

Emacs23.x版本之重要特性及用法实例(一百五十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!

新书发布:《Android系统多媒体进阶实战》🚀
优质专栏: Audio工程师进阶系列原创干货持续更新中……】🚀
优质专栏: 多媒体系统工程师系列原创干货持续更新中……】🚀
优质视频课程:AAOS车载系统+AOSP14系统攻城狮入门视频实战课 🚀

人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

更多原创,欢迎关注:Android系统攻城狮

欢迎关注Android系统攻城狮

🍉🍉🍉文章目录🍉🍉🍉

    • 🌻1.前言
    • 🌻2.Emacs23.x版本介绍
    • 🌻3.代码实例
      • 🐓3.1 对 Unicode 的原生支持
      • 🐓3.2 多 tty 支持
      • 🐓3.3 增强的 GUI 支持
      • 🐓3.4 内置的文档查看器
      • 🐓3.5 支持颜色主题
      • 🐓3.6 增强的文本缩放
      • 🐓3.7 D-Bus 支持

🌻1.前言

本篇目的:Emacs23.x版本之重要特性及用法实例

🌻2.Emacs23.x版本介绍

  • Emacs 23.x 系列发布于2009年,是 Emacs 发展的又一重要版本。这个版本在文本渲染、国际化支持、图形用户界面(GUI)、多线程处理等方面进行了显著的改进和增强,使其成为更加现代化和多功能的编辑器。

  • 首先,Emacs 23.x 的一个重要改进是对文本渲染的增强。这个版本引入了对字体配置(Fontconfig)和 Xft 的支持,使得在图形界面下的文本显示更加美观和平滑。用户可以选择和配置任意字体,享受更清晰的文本渲染效果。这一改进使得 Emacs 23.x 在高分辨率显示器上的表现更为出色,提供了更好的阅读体验,尤其是在处理长篇文档或代码时。

  • 其次,Emacs 23.x 大幅提升了国际化支持,特别是在多语言环境中的表现更加出色。这个版本引入了对双向文本(Bidirectional Text)的支持,使得 Emacs 能够正确显示和编辑从右向左书写的语言,如阿拉伯语和希伯来语。Emacs 23.x 还改进了对 Unicode 的支持,能够更加准确地处理和显示全球各种语言的字符。对于需要处理多语言文档的用户来说,这些改进显得尤为重要。

  • 在图形用户界面(GUI)方面,Emacs 23.x 进一步优化了其图形界面的操作体验。这个版本引入了对多种窗口系统的原生支持,包括 Windows、macOS 和 X Window System,使得 Emacs 在这些平台上的表现更加一致和平滑。Emacs 23.x 还改进了对鼠标操作的支持,用户可以更加方便地进行文本选择、拖放操作,并且图形界面的菜单栏和工具栏也变得更加直观和易用。这使得 Emacs 更加适合现代桌面环境,吸引了更多习惯于图形界面的用户。

  • 另一个重要特性是 Emacs 23.x 开始引入初步的多线程支持,尽管多线程在这个版本中还处于实验阶段,但它为后续版本的并行处理能力奠定了基础。多线程支持使得 Emacs 可以在处理耗时任务时保持界面响应,提升了用户的操作体验,尤其是在需要运行复杂脚本或处理大量数据时,这一改进显得尤为关键。

  • 此外,Emacs 23.x 还引入了一些新的内置模式和功能扩展。例如,Org 模式得到了进一步增强,增加了更多的任务管理和日程安排功能,使得 Emacs 在组织和管理个人信息方面更加强大。这个版本还改进了对版本控制系统的集成,特别是对 Git 的支持,使得开发者能够更方便地在 Emacs 中管理代码库。

  • Emacs 23.x 是一个功能丰富且面向未来的版本。它通过改进文本渲染、增强国际化支持、优化图形用户界面以及引入初步的多线程处理,使得 Emacs 更加现代化和多功能。这个版本在保持 Emacs 传统强大功能的同时,提供了更好的用户体验和更广泛的应用场景,进一步巩固了 Emacs 作为开发者和文字工作者的首选工具的地位。

🌻3.代码实例

🐓3.1 对 Unicode 的原生支持

  • 功能描述: Emacs 23.x 引入了对 Unicode 的原生支持,使得编辑器可以更好地处理多语言文本和特殊字符。这一特性极大地改善了 Emacs 处理国际化文本的能力。
;; 设置默认编码为 UTF-8
(prefer-coding-system 'utf-8)
(set-language-environment "UTF-8");; 打开 UTF-8 编码的文件
(find-file "utf8-file.txt")

🐓3.2 多 tty 支持

  • 功能描述: Emacs 23.x 引入了多 tty 支持,允许用户在多个终端会话中同时运行 Emacs 实例,这对于远程开发和多任务处理非常有用。
;; 在新的 TTY 上启动 Emacs
(make-frame-on-tty "/dev/pts/2");; 切换到不同的 TTY 会话
(select-frame-set-input-focus (next-frame))

🐓3.3 增强的 GUI 支持

  • 功能描述: Emacs 23.x 对图形界面进行了进一步改进,特别是在 Mac OS X 和 Windows 上的表现更加稳定和流畅,增加了对透明度的支持。
;; 设置框架透明度
(set-frame-parameter (selected-frame) 'alpha '(90 . 90));; 设置默认透明度
(add-to-list 'default-frame-alist '(alpha . (90 . 90)))

🐓3.4 内置的文档查看器

  • 功能描述: Emacs 23.x 引入了 DocView 模式,允许用户直接在 Emacs 中查看 PDF 和其他文档格式,无需使用外部应用程序。
;; 打开并查看 PDF 文件
(find-file "document.pdf");; 切换到 DocView 模式
(doc-view-mode)

🐓3.5 支持颜色主题

  • 功能描述: Emacs 23.x 提供了对颜色主题的支持,用户可以轻松切换和定制编辑器的配色方案,提升用户体验。
;; 启用内置主题
(load-theme 'wombat t);; 切换到其他主题
(disable-theme 'wombat)
(load-theme 'tango-dark t)

🐓3.6 增强的文本缩放

  • 功能描述: Emacs 23.x 改进了文本缩放功能,允许用户更加灵活地调整文本大小,特别适合在高分辨率显示器上使用。
;; 放大文本
(global-set-key (kbd "C-+") 'text-scale-increase);; 缩小文本
(global-set-key (kbd "C--") 'text-scale-decrease)

🐓3.7 D-Bus 支持

  • 功能描述: Emacs 23.x 引入了对 D-Bus 的支持,使得 Emacs 可以与其他 D-Bus 支持的应用程序进行通信,特别是在 Linux 系统上,这为自动化和集成提供了更多可能性。
;; 使用 D-Bus 发送消息
(dbus-call-method :session "org.freedesktop.Notifications""/org/freedesktop/Notifications""org.freedesktop.Notifications" "Notify""Emacs" 0 "" "Hello from Emacs!" '() '() 5000)

相关文章:

Emacs23.x版本之重要特性及用法实例(一百五十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列…...

机器学习 第11章-特征选择与稀疏学习

机器学习 第11章-特征选择与稀疏学习 11.1 子集搜索与评价 我们将属性称为“特征”(feature),对当前学习任务有用的属性称为“相关特征”(relevant feature)、没什么用的属性称为“无关特征”(irrelevant feature)。从给定的特征集合中选择出相关特征子集的过程&a…...

Grok 2携AI图片生成重生

埃隆马斯克&#xff08;Elon Musk&#xff09;的人工智能初创公司xAI推出其最新的AI助手Grok 2的测试版&#xff0c;添加了类似于OpenAI的DALL-E和Google的Gemini的图像生成工具&#xff0c;但对可以生成的图像类型的限制显然较少。<这是其中的一个“亮点”&#xff0c;一些…...

使用Nexus搭建Maven私服仓库

一、私服仓库简介 在Java的世界中&#xff0c;我们通常使用Maven的依赖体系来管理构件&#xff08;artifact&#xff0c;又称为二方库或三方库&#xff09;的依赖&#xff0c;Maven仓库用于存储这些构件。一般的远程仓库&#xff08;比如Maven Central&#xff09;只提供下载功…...

云计算day27

任务背景 公司的服务器越来越多, 维护⼀些简单的事情都会变得很繁琐。⽤ shell脚本来管理少量服务器效率还⾏, 服务器多了之后, shell脚本⽆ 法实现⾼效率运维。这种情况下&#xff0c;我们需要引⼊⾃动化运维⼯具, 对 多台服务器实现⾼效运维。 任务要求任务要求 通过管…...

关于HTTP HEAD介绍

一、HTTP HEAD介绍 HTTP HEAD 是一种 HTTP 请求方法&#xff0c;它用于请求服务器返回指定资源的元信息&#xff08;metadata&#xff09;&#xff0c;而不包括响应体的内容。这种请求方式常用于客户端预先评估资源的大小、最后修改日期或其他头信息&#xff0c;而无需实际下载…...

WPF Mvvm

了解MVVM 什么是MVVM&#xff1a;一种设计模式 设计模式&#xff08;Design pattern&#xff09;代表了最佳的实践&#xff0c;通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人…...

pnpm【实用教程】2024最新版

pnpm 简介 pnpm 全称 performant npm&#xff0c;即高性能的 npm&#xff0c;由 npm/yarn 衍生而来&#xff0c;解决了 npm/yarn 内部潜在的 bug&#xff0c;极大的优化了性能&#xff0c;扩展了使用场景&#xff0c;被誉为 最先进的包管理工具 安装 pnpm npm i -g pnpm使用 pn…...

C#的前沿技术有哪些?

C#作为.NET平台的核心语言&#xff0c;其前沿技术主要围绕.NET生态系统的扩展和更新展开。了解C#的前沿技术对于开发者来说至关重要&#xff0c;因为它们代表了该语言和平台的最新发展方向和趋势。目前&#xff0c;C#的前沿技术主要集中在以下几个方面&#xff1a; 1. NET 6: …...

Vue2移动端(H5项目)项目基于vant封装图片上传组件(支持批量上传、单个上传、回显、删除、预览、最大上传数等功能)---解决批量上传问题

一、最终效果 二、参数配置 1、代码示例&#xff1a; <t-uploadfileList"fileList":showFileList"showFileList"showFile"showFile":showFileUrl"showFileUrl"/>2、配置参数&#xff08;TUpload Attributes&#xff09;继承va…...

ELK整合实战,filebeat和logstash采集SpringBoot项目日志发送至ES

文章目录 ELK整合实战使用FileBeats将日志发送到Logstash配置Logstash接收FileBeat收集的数据并打印Logstash输出数据到Elasticsearch利用Logstash过滤器解析日志Grok插件Grok语法用法 输出到Elasticsearch指定索引 前文&#xff1a;FileBeats详解 前文&#xff1a;logstash详解…...

网络编程:OSI协议,TCP/IP协议,IP地址,UDP编程

目录 国际网络通信协议标准&#xff1a; 1.OSI协议&#xff1a; 2.TCP/IP协议模型&#xff1a; 应用层 &#xff1a; 传输层&#xff1a; 网络层&#xff1a; IPV4协议 IP地址 IP地址的划分&#xff1a; 公有地址 私有地址 MA…...

QtExa001自动包装流水线的框架设计vs2019QT

QtExa001自动包装流水线的框架设计 工程代码&#xff1a; https://download.csdn.net/download/txwtech/89636815https://download.csdn.net/download/txwtech/89636815 主界面&#xff1a; 设置&#xff1a;进行参数配置&#xff0c;保存ini文件 调试&#xff1a;tcp/ip&…...

SpringBoot拦截器的使用介绍

SpringBoot拦截器的使用介绍 本篇文章主要讲的是 SpringBoot 拦截器的使用介绍。 1、定义拦截器 拦截器&#xff1a;所谓拦截器&#xff0c;就是能够在进行某个操作之前拦截请求&#xff0c;如果请求符合条件就允许在往下执行。 定义拦截器的几种方式。 1.1 实现HandleInt…...

Spring Boot应用中的资源分离与高效打包实践

在电商网站项目中&#xff0c;前端资源通常包括HTML、CSS、JavaScript、图片、字体等静态文件&#xff0c;以及Thymeleaf或Freemarker等模板引擎渲染的页面。将这些资源从Spring Boot主应用中分离出来&#xff0c;不仅有利于前后端团队的并行开发&#xff0c;还能提高应用的加载…...

分析 avformat_open_input 数据读取过程

------------------------------------------------------------ author: hjjdebug date: 2024年 08月 13日 星期二 17:31:43 CST descriptor: 分析 avformat_open_input 数据读取过程 ------------------------------------------------------------ avformat_open_input 中读…...

Apache HOP (Hop Orchestration Platform) VS Data Integration (通常被称为 Kettle)

Apache HOP (Hop Orchestration Platform) 和 Data Integration (通常被称为 Kettle) 都是强大的 ETL (Extract, Transform, Load) 工具&#xff0c; 它们都由 Hitachi Vantara 开发和支持。尽管它们有着相似的目标&#xff0c;即帮助用户进行数据集成任务&#xff0c;但它们在…...

如何判断一个dll/exe是32位还是64位

通过记事本判断&#xff08;可判断C或者C#&#xff09; 64位、将dll用记事本打开&#xff0c;可以看到一堆乱码&#xff0c;但是找到乱码行的第一个PE&#xff0c;如果后面是d?则为64位 32位、将dll用记事本打开&#xff0c;可以看到一堆乱码&#xff0c;但是找到乱码行的第…...

加速网页加载,提升用户体验:HTML、JS 和 Vue 项目优化全攻略

在信息爆炸的时代&#xff0c;网页加载速度成为了用户体验的重中之重。试想一下&#xff0c;如果一个页面加载超过 3 秒&#xff0c;你还有耐心等待吗&#xff1f; 为了留住用户&#xff0c;提升转化率&#xff0c;网页优化势在必行&#xff01; 本文将从 HTML、JavaScript 和…...

LVS服务器基础环境配置

环境配置 1 基础服务关闭 setenforce 0 # 临时关闭selinuxvi /etc/sysconfig/selinux # 永久关闭selinuxsystemctl disable --now firewalld # 关闭防火墙systemctl disable --now NetworkManager # 关闭网络管理器2 centos7软件仓库的配置 mount /dev/cdrom /media以防万一&…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误&#xff0c;它们的含义、原因和解决方法都有显著区别。以下是详细对比&#xff1a; 1. HTTP 406 (Not Acceptable) 含义&#xff1a; 客户端请求的内容类型与服务器支持的内容类型不匹…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935&#xff0c;SRS管理页面端口是8080&#xff0c;可…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...