当前位置: 首页 > 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以防万一&…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言&#xff1a;多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时&#xff0c;​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套&#xff1a;跨云网络构建数据…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象&#xff1a;mysql已经安装&#xff0c;但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时&#xff0c;可能是因为以下几个原因&#xff1a;1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

ip子接口配置及删除

配置永久生效的子接口&#xff0c;2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中&#xff0c;损失函数的选择对模型性能具有决定性影响。均方误差&#xff08;MSE&#xff09;作为经典的损失函数&#xff0c;在处理干净数据时表现优异&#xff0c;但在面对包含异常值的噪声数据时&#xff0c;其对大误差的二次惩罚机制往往导致模型参数…...

站群服务器的应用场景都有哪些?

站群服务器主要是为了多个网站的托管和管理所设计的&#xff0c;可以通过集中管理和高效资源的分配&#xff0c;来支持多个独立的网站同时运行&#xff0c;让每一个网站都可以分配到独立的IP地址&#xff0c;避免出现IP关联的风险&#xff0c;用户还可以通过控制面板进行管理功…...

抽象类和接口(全)

一、抽象类 1.概念&#xff1a;如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象&#xff0c;这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法&#xff0c;包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中&#xff0c;⼀个类如果被 abs…...

数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !

我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...

Vue3中的computer和watch

computed的写法 在页面中 <div>{{ calcNumber }}</div>script中 写法1 常用 import { computed, ref } from vue; let price ref(100);const priceAdd () > { //函数方法 price 1price.value ; }//计算属性 let calcNumber computed(() > {return ${p…...

Python环境安装与虚拟环境配置详解

本文档旨在为Python开发者提供一站式的环境安装与虚拟环境配置指南&#xff0c;适用于Windows、macOS和Linux系统。无论你是初学者还是有经验的开发者&#xff0c;都能在此找到适合自己的环境搭建方法和常见问题的解决方案。 快速开始 一分钟快速安装与虚拟环境配置 # macOS/…...