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

news2024/11/16 9:32:36

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

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

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

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

欢迎关注Android系统攻城狮

🍉🍉🍉文章目录🍉🍉🍉

    • 🌻1.前言
    • 🌻2.Emacs25.x版本介绍
    • 🌻3.代码实例
      • 🐓3.1 改进的网络和进程处理
      • 🐓3.2 增强的文字和图片渲染
      • 🐓3.3 改进的项目管理工具
      • 🐓3.4 电子邮件加密支持
      • 🐓3.5 改进的 minibuffer 补全
      • 🐓3.6 缩略图模式支持
      • 🐓3.7 改进的编辑功能

🌻1.前言

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

🌻2.Emacs25.x版本介绍

  • Emacs 25.x 系列发布于2016年,是 Emacs 发展历史上的又一个重要版本,带来了许多新特性和改进,进一步强化了其作为高级文本编辑器和集成开发环境(IDE)的功能。这一版本在包管理、安全性、性能优化、多媒体支持等方面进行了显著的升级,使得 Emacs 更加现代化和高效。

  • 首先,Emacs 25.x 对包管理系统进行了进一步的优化。这个版本引入了“包存档优先级”(Package Archive Priorities),允许用户为不同的包存档设置优先级。这意味着用户可以更好地管理和控制从不同来源安装的包,避免版本冲突和不兼容问题。此外,Emacs 25.x 还改进了包安装和更新的流程,使得整个过程更加可靠和高效。

  • 其次,Emacs 25.x 在安全性方面做出了重要改进。这个版本引入了 GnuTLS 支持,允许 Emacs 直接通过安全的 HTTPS 协议连接到网络资源,如 ELPA 包存档和 Git 仓库。这一改进提高了网络通信的安全性,防止了数据在传输过程中的篡改或窃听。此外,Emacs 25.x 还增强了邮件加密和签名功能,进一步提升了用户在处理敏感信息时的安全保障。

  • 在性能优化方面,Emacs 25.x 带来了显著的提升。这个版本对垃圾回收机制进行了优化,减少了垃圾回收对编辑器响应速度的影响,使得 Emacs 在处理大型文件或复杂任务时更加流畅。Emacs 25.x 还改进了多线程支持,虽然 Emacs 本身仍然是单线程的,但它增强了异步任务的处理能力,使得一些耗时的操作可以在后台运行,而不会阻塞主线程。

  • Emacs 25.x 还引入了图像和多媒体支持的增强。这个版本新增了对 SVG 图像格式的支持,使得用户可以在 Emacs 中直接查看和编辑矢量图像。这对于那些需要处理图像内容的用户,如网页开发者和设计师,提供了更强大的功能。此外,Emacs 25.x 还改进了对视频和音频文件的支持,使得用户可以在编辑器中直接播放多媒体内容,这进一步扩展了 Emacs 的应用场景。

  • 在编辑功能方面,Emacs 25.x 引入了许多实用的新特性。例如,electric-pair-mode 模式得到了改进,支持更多编程语言的自动配对功能,使得代码输入更加快速和准确。此外,Emacs 25.x 还增加了对反向搜索的支持,用户可以更加方便地在编辑过程中查找和替换内容。这些功能的增强使得 Emacs 25.x 在日常编辑任务中表现得更加高效和便捷。

  • Emacs 25.x 是一个功能强大且性能优化的版本。通过改进包管理系统、提升安全性、优化性能和增强多媒体支持,Emacs 25.x 不仅延续了其作为高级文本编辑器和开发工具的传统,还提升了用户的操作体验和工作效率。这些改进使得 Emacs 25.x 成为一个更加现代化和多功能的工具,满足了用户在不同应用场景中的需求。

🌻3.代码实例

🐓3.1 改进的网络和进程处理

  • 功能描述: Emacs 25.x 改进了对网络和子进程的处理能力,特别是在异步操作和并行处理方面。make-process 是一个新的低级 API,用于创建和管理子进程。
;; 使用 make-process 创建子进程
(make-process
 :name "my-process"
 :buffer "*my-process-buffer*"
 :command '("ls" "-l" "/"))

;; 异步执行并在完成时回调
(make-process
 :name "async-ls"
 :buffer "*async-ls-buffer*"
 :command '("ls" "-l" "/")
 :sentinel (lambda (process event)
             (when (string= event "finished\n")
               (message "Async process completed"))))

🐓3.2 增强的文字和图片渲染

  • 功能描述: Emacs 25.x 增强了文本和图片的渲染能力,特别是在显示高分辨率图像时表现更好。此外,还改进了对 Emoji 和其他 Unicode 字符的支持。
;; 插入并显示图片
(insert-image (create-image "/path/to/image.png"))

;; 在 Emacs 中显示 Emoji
(insert (decode-coding-string "\xF0\x9F\x98\x8A" 'utf-8))

🐓3.3 改进的项目管理工具

  • 功能描述: Emacs 25.x 提供了更好的项目管理支持,并且与 projectile 等流行插件集成更紧密,提升了项目间的导航和文件查找效率。
;; 安装并启用 projectile
(unless (package-installed-p 'projectile)
  (package-refresh-contents)
  (package-install 'projectile))

(projectile-mode +1)

;; 设置快捷键在项目中查找文件
(define-key projectile-mode-map (kbd "C-c p f") 'projectile-find-file)

🐓3.4 电子邮件加密支持

  • 功能描述: Emacs 25.x 改进了对加密电子邮件的支持,特别是通过 GPG 和 SMIME 在 Gnus 中进行邮件加密和解密,提升了通信的安全性。
;; Gnus 配置用于加密邮件
(setq mm-sign-option 'guided)
(setq mm-encrypt-option 'guided)

;; 设置 GPG 密钥
(setq mml2015-signers '("Your Key ID"))

;; 发送加密邮件
(mml-secure-message-encrypt-pgpmime)

🐓3.5 改进的 minibuffer 补全

  • 功能描述: Emacs 25.x 提升了 minibuffer 补全功能,并与 ivy 和 counsel 插件集成,提供了更为流畅和强大的补全体验。
;; 安装并启用 ivy 和 counsel
(unless (package-installed-p 'ivy)
  (package-refresh-contents)
  (package-install 'ivy))

(ivy-mode 1)
(setq ivy-use-virtual-buffers t)
(setq enable-recursive-minibuffers t)

;; 安装并启用 counsel
(unless (package-installed-p 'counsel)
  (package-refresh-contents)
  (package-install 'counsel))

(global-set-key (kbd "M-x") 'counsel-M-x)

🐓3.6 缩略图模式支持

  • 功能描述: Emacs 25.x 引入了一个用于查看图片缩略图的新模式,称为 Thumbs Mode,这对处理大量图片的用户非常有用。
;; 启用缩略图模式
(thumbs-mode)

;; 查看图片目录中的缩略图
(thumbs-display-image-directory "/path/to/images/")

🐓3.7 改进的编辑功能

  • 功能描述: Emacs 25.x 改进了编辑体验,特别是通过 electric-pair-mode 提供自动括号和引号补全功能,进一步提升了代码编写效率。
;; 启用自动括号补全
(electric-pair-mode 1)

;; 自定义括号匹配规则
(setq electric-pair-pairs '((?\{ . ?\}) (?\[ . ?\])))

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

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

相关文章

探索Jinja2的神秘力量:Python模板引擎的魔法之旅

文章目录 探索Jinja2的神秘力量:Python模板引擎的魔法之旅1. 背景:为何选择Jinja2?2. 什么是Jinja2?3. 安装Jinja2:一键启程4. 基础用法:Jinja2的五大法宝5. 实战演练:Jinja2在场景中的应用6. 常…

xssnote

XSS漏洞: 文章目录 XSS漏洞:反射型:第一个例子: 实体,url,和js的Unicode编码img——重要标签浏览器解析机制:容纳字符实体:字符引用:RCDATA状态中的字符引用: URL解析:解…

前端css 动画过渡类型以及不同写法

动画过渡简写和复合写法 拆开写 transition-property: height background; 单独设置宽高或者all transition-duration: 2s; 运动时间 transition-timing-function: linear; 不同速度类型 transition-delay: 5s; 延迟时间 <!DOCTYPE h…

相似度计算方法-编辑距离 (Edit Distance)

定义 编辑距离&#xff08;Edit Distance&#xff09;&#xff0c;也称为Levenshtein距离&#xff0c;是一种衡量两个字符串相似度的方法。它定义为从一个字符串转换为另一个字符串所需的最少单字符编辑操作次数&#xff0c;这些操作包括插入、删除或替换一个字符。 计算方法 …

圣鑫堂胀气保健油:专为婴幼儿设计

圣鑫堂胀气保健油是一款专为婴幼儿设计的产品&#xff0c;旨在帮助宝宝缓解胀气不适。胀气是宝宝成长过程中常见的问题&#xff0c;由于婴儿的消化系统尚不成熟&#xff0c;容易出现胀气、腹痛等症状。圣鑫堂麻油通过纯天然的中草药成分&#xff0c;温和有效地帮助宝宝排出肠道…

解决电脑(Win10)内存不足问题:设置虚拟内存

文章目录 1. 虚拟内存1.1 介绍1.2 虚拟内存优点1.3 虚拟内存缺点 2. 为什么要修改虚拟内存&#xff1f;3. win10虚拟内存设置多少合适&#xff1f;4. Win10如何设置虚拟内存? 1. 虚拟内存 1.1 介绍 虚拟内存是一种计算机系统内存管理技术&#xff0c;它使得计算机能够使用比…

为什么精英都是时间控.md

作者&#xff1a;桦泽紫苑 一句话读书感想&#xff1a;高效利用时间&#xff0c;高效工作&#xff0c;幸福生活。 不在时间管理上下功夫&#xff0c;人真的会被工作“忙杀” 1.时间管理术四原则 1.1 以专注力为中心对时间分配 灵活运用大脑的黄金时间&#xff0c;将效率提高…

AI视频创作原理

重磅推荐专栏: 《大模型AIGC》 《课程大纲》 《知识星球》 本专栏致力于探索和讨论当今最前沿的技术趋势和应用领域,包括但不限于ChatGPT和Stable Diffusion等。我们将深入研究大型模型的开发和应用,以及与之相关的人工智能生成内容(AIGC)技术。通过深入的技术解析和实践经…

Paimon实战 -- paimon系统表与审计监控

简介 paimon系统表按照元数据的分类&#xff0c;划分了如下10个系统表&#xff0c;通过系统表可以获取paimon表各维度的元数据和消费组信息。通过收集这些元信息&#xff0c;不仅可以排查问题使用&#xff0c;还可以构建统一的paimon元数据管理和消费组管理平台&#xff0c;比如…

远程调用-OpenFeign(二)

目录 1.OpenFeign最佳实践 1.1Feign继承方式 1.1.1创建一个Module 1.1.2引入依赖 1.1.3编写接口 1.1.4打Jar包 1.1.5服务提供方实现接口 1.1.6服务消费方继承接口 1.1.7测试 1.2Feign抽取方式 1.2.1创建一个Module 1.2.2引入依赖 1.2.3编写API 1.2.4打Jar包 1.2.…

mipi协议:Low Level Protocol(2)

前言&#xff1a; 今天继续给大家分享mipi协议中的Low Level Protocol部分内容翻译&#xff01; Packet Header Error Correction code for D-PHY Physical Layer Option: 数据标识符、字数计数和虚拟通道扩展字段的正确解释对于数据包结构至关重要。6位的数据包头错误校正码&…

日拱一卒(4)——leetcode学习记录:路径总和

一、任务&#xff1a; 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径&#xff0c;这条路径上所有节点值相加等于目标和 targetSum 。如果存在&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 叶…

Systools Outlook PST Recovery Outlook PST邮箱邮件数据修复工具下载

可正常激活使用&#xff0c;非常强大好用的PST邮箱邮件数据文件修复工具 下载地址(资源制作整理不易&#xff0c;下载使用需付费&#xff0c;不能接受请勿浪费时间下载) 链接&#xff1a;https://pan.baidu.com/s/1bfkVNrgdaVS2MkTnW19Zqw?pwdu2sj 提取码&#xff1a;u2sj

Java流程控制09:练习题:打印三角形

本节视频链接&#xff1a;https://www.bilibili.com/video/BV12J41137hu?p44&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5https://www.bilibili.com/video/BV12J41137hu?p44&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 通过嵌套for循环可以实现打印三角形&#xff…

微信答题小程序产品研发-后端开发

在开发答题小程序的后端服务和数据库设计时&#xff0c;需要考虑API的设计、数据库模型的构建以及数据的安全性和一致性。 这里我采用了云开发&#xff0c;后端语言是Node&#xff0c;数据库是NoSql&#xff0c;然后我简单整理了各个功能模块的后端开发概要和数据库设计。 1. …

志愿服务管理系统--论文pf

TOC springboot360志愿服务管理系统--论文pf 第1章 绪论 1.1选题动因 当前的网络技术&#xff0c;软件技术等都具备成熟的理论基础&#xff0c;市场上也出现各种技术开发的软件&#xff0c;这些软件都被用于各个领域&#xff0c;包括生活和工作的领域。随着电脑和笔记本的广…

免费的抓包软件wireshark以及简单使用

官网下载链接 https://www.wireshark.org/download.html 安装成功后直接打开即可使用 点击‘wan’即可使用 抓包信息可以在底部菜单栏查看 过滤之查看‘tcp’类型的&#xff0c;自行输入过滤

【LiteX】【开发板】【BoChenK7】使用Python开发FPGA【Linux】

文章目录 开发板介绍下载仓库环境安装仿真测试上板测试添加targets 工程构建开启TFTP Server 工程测试Linux启动&#xff08;netboot&#xff09;HDMI测试SD Card网络测试TFTP测试Linux启动&#xff08;sdcardboot&#xff09;LiteX工具烧录BIOS烧录&#xff08;好像有问题&…

使用 Hugging Face 和 Milvus 构建 RAG 系统

Milvus 是一个广受欢迎的开源向量数据库&#xff0c;为人工智能应用提供高性能和可扩展的向量相似性搜索。在本教程中&#xff0c;我们将向您展示如何使用 Hugging Face 和 Milvus 构建 RAG&#xff08;检索增强生成&#xff09;流程。 RAG 系统将检索系统与 LLM 相结合。该系统…

CSP-CCF 202206-1 归一化处理

目录 一、问题描述 二、解答 三、总结 一、问题描述 二、解答 代码&#xff1a; #include<iostream> #include<math.h> using namespace std; int main() {double n;//设置成double有利于后续的计算cin >> n;int a[1001] { 0 };int sum 0;for (int i …