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

手游刚开服就被攻击怎么办?如何防御DDoS?

开服初期是手游最脆弱的阶段&#xff0c;极易成为DDoS攻击的目标。一旦遭遇攻击&#xff0c;可能导致服务器瘫痪、玩家流失&#xff0c;甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案&#xff0c;帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能&#xff0c;包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU&#xff1a;如何让RNN变得更聪明&#xff1f; 在深度学习的世界里&#xff0c;循环神经网络&#xff08;RNN&#xff09;以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而&#xff0c;传统RNN存在的一个严重问题——梯度消失&#…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...