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

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

VB.net复制Ntag213卡写入UID

本示例使用的发卡器&#xff1a;https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动&#xff08;如演唱会、马拉松赛事、高考中考等&#xff09;期间&#xff0c;城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例&#xff0c;暖城商圈曾因观众集中离场导致周边…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...

STM32HAL库USART源代码解析及应用

STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机&#xff0c;它可以执行Java字节码。Java虚拟机是Java平台的一部分&#xff0c;Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)

题目 做法 启动靶机&#xff0c;点进去 点进去 查看URL&#xff0c;有 ?fileflag.php说明存在文件包含&#xff0c;原理是php://filter 协议 当它与包含函数结合时&#xff0c;php://filter流会被当作php文件执行。 用php://filter加编码&#xff0c;能让PHP把文件内容…...

DBLP数据库是什么?

DBLP&#xff08;Digital Bibliography & Library Project&#xff09;Computer Science Bibliography是全球著名的计算机科学出版物的开放书目数据库。DBLP所收录的期刊和会议论文质量较高&#xff0c;数据库文献更新速度很快&#xff0c;很好地反映了国际计算机科学学术研…...