Emacs之实现目录替换(一百四十三)

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

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

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

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

欢迎关注Android系统攻城狮

🍉🍉🍉文章目录🍉🍉🍉

    • 🌻1.前言
    • 🌻2.Emacs介绍
    • 🌻3.解决方案
      • 🐓3.2 cond语法方案

🌻1.前言

本篇目的:Emacs之实现目录替换

  • 需求
    1.将/home/test1/android/com/test.java替换为 /work/test1/com/
    2.将/home/test2/android/com/test.java替换为 /work/test1/com/

🌻2.Emacs介绍

  • Emacs是一种功能强大的文本编辑器,最初由Richard Stallman在1970年代开发。它是GNU项目的一部分,可以运行在不同的操作系统上,如Linux、Windows和Mac OS X。Emacs不仅仅是一个简单的文本编辑器,它还可以作为一个集成开发环境(IDE)、文件管理器、电子表格、邮件客户端和新闻阅读器等。
  • Emacs的用户界面非常独特,它使用了一系列的键绑定和命令来执行不同的操作。用户可以通过键入一系列的字符来执行命令,这些字符被称为键序列。Emacs还支持宏录制和播放,允许用户录制一系列的键操作,并在需要时重复执行这些操作。
  • Emacs的一个显著特点是它的可扩展性。用户可以通过编写Lisp代码来扩展Emacs的功能。Lisp是一种编程语言,它允许用户自定义Emacs的行为,添加新的命令和功能,甚至可以编写自己的插件来扩展Emacs的功能。Emacs社区非常活跃,有许多人贡献了自己的插件和扩展,使得Emacs的功能不断增强。
  • Emacs还支持多种编程语言的语法高亮和代码补全功能,这使得它成为一个非常适合编程的编辑器。用户可以通过安装相应的插件来支持不同的编程语言,如Python、C++、Java等。Emacs还支持版本控制系统的集成,如Git和SVN,使得用户可以在编辑器中直接进行版本控制操作。
  • 除了编程功能,Emacs还可以作为一个高效的文本编辑器使用。它支持多窗口编辑,允许用户同时打开多个文件并进行编辑。Emacs还支持正则表达式搜索和替换,以及强大的文本处理功能,如列编辑和宏录制。
  • Emacs还提供了一些其他有用的功能,如拼写检查、自动保存和撤销操作。用户可以通过安装插件来进一步增强这些功能,如语法检查、代码美化等。
  • Emacs是一个非常强大和灵活的文本编辑器,它具有丰富的功能和可扩展性,可以满足不同用户的需求。无论你是程序员、作家还是普通用户,Emacs都是一个值得尝试的文本编辑器。

🌻3.解决方案

🐓3.2 cond语法方案

;;1.提取包含"android/"的字段
(defun extract-android-path (path)(when (string-match "android/" path)(substring path (match-beginning 0))))(defun copy-current-dir-path ()"1.去掉目录的前缀2.去掉文件名3.将目录前缀替换为: /work/test1/com/(interactive)(setq full-dir (file-name-directory (buffer-file-name)));;/home/test1/android/(cond((if (string-prefix-p "/home/test1/android/" buffer-file-name)(progn;;(kill-new del_prev_name)(setq docker_path (concat " /work/test1/" (extract-android-path full-dir)))(kill-new docker_path)(message " ")(message (propertize (format "Copied: %s " docker_path) 'face '(:foreground "#ff00ff" :weight bold))))));;/home/test2/android/((if (string-prefix-p "/home/test2/android/" buffer-file-name)(progn(setq docker_path (concat "/work/test1/" (extract-android-path full-dir)))(kill-new docker_path)(message " ")(message (propertize (format "Copied: %s " docker_path) 'face '(:foreground "#ff00ff" :weight bold))))));;默认复制全路径((progn(kill-new full-dir)(message " ")(message (propertize (format "Copied: %s " full-dir) 'face '(:foreground "#1e90ff" :weight bold)))))))

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

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

相关文章

vue 中监听生命周期事件

vue 中监听生命周期事件 常见的添加自定义事件的写法希望在子组件挂载时通知父组件在模板上监听组件生命周期vue3 有类似的写法吗?jsx 中如何监听 vue3 组件的生命周期事件呢? vue3 父组件组件的生命周期的执行顺序是什么?小结 vue2 提供了一…

pytest测试框架pytest-rerunfailures插件重试失败用例

Pytest提供了丰富的插件来扩展其功能,介绍下插件pytest-rerunfailures ,用于在测试用例失败时自动重新运行这些测试用例。 pytest-rerunfailures官方显示的python和pytest版本限制: Python 3.8pytest 7.2 或更新版本 此插件可以通过以下可…

Scala运算符及流程控制

Scala运算符及流程控制 文章目录 Scala运算符及流程控制写在前面运算符算数运算符关系运算符赋值运算符逻辑运算符位运算符运算符本质 流程控制分支控制单分支双分支多分支 循环控制for循环while循环循环中断嵌套循环 写在前面 操作系统:Windows10JDK版本&#xff…

1027. 方格取数

Powered by:NEFU AB-IN Link 文章目录 1027. 方格取数题意思路代码 1027. 方格取数 题意 某人从图中的左上角 A 出发,可以向下行走,也可以向右行走,直到到达右下角的 B 点。 在走过的路上,他可以取走方格中的数(取…

FOC方案大合集!

获取链接!!! 本次小编给大家带来了一份FOC的方案大合集。此套方案是基于峰岹科技FU68系列MCU的系列方案,包含常用的无感,有感无刷电机的应用,每份方案都包含了原理图,PCB,代码文件&…

【TOOL】ceres学习笔记(一) —— 教程练习

文章目录 一、Ceres Solver 介绍二、Ceres 使用基本步骤1. 构建最小二乘问题2. 求解最小二乘问题 三、使用案例1. Ceres Helloworld2. Powell’s Function3. Curve Fitting4. Robust Curve Fitting 一、Ceres Solver 介绍 Ceres-solver 是由Google开发的开源C库,用…

2024年P气瓶充装证模拟考试题库及P气瓶充装理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年P气瓶充装证模拟考试题库及P气瓶充装理论考试试题是由安全生产模拟考试一点通提供,P气瓶充装证模拟考试题库是根据P气瓶充装最新版教材,P气瓶充装大纲整理而成(含2024年P气瓶…

[Open-source tool]Uptime-kuma的簡介和安裝於Ubuntu 22.04系統

[Uptime Kuma]How to Monitor Mqtt Broker and Send Status to Line Notify Uptime-kuma 是一個基於Node.js的開軟軟體,同時也是一套應用於網路監控的開源軟體,其利用瀏覽器呈現直觀的使用者介面,如圖一所示,其讓使用者可監控各種…

足底筋膜炎的症状

足底筋膜炎是足底的肌腱或者筋膜发生无菌性炎症所致,其症状主要包括: 1、疼痛:这是足底筋膜炎最常见和突出的症状。疼痛通常出现在足跟或足底近足跟处,有时压痛较剧烈且持续存在。晨起时或长时间不活动后,疼痛感觉尤为…

高通安卓12-安卓系统定制2

将开机动画打包到system.img里面 在目录device->qcom下面 有lito和qssi两个文件夹 现在通过QSSI的方式创建开机动画,LITO方式是一样的 首先加入自己的开机动画,制作过程看前面的部分 打开qssi.mk文件,在文件的最后加入内容 PRODUCT_CO…

Python | Leetcode Python题解之第174题地下城游戏

题目: 题解: class Solution:def calculateMinimumHP(self, dungeon: List[List[int]]) -> int:n, m len(dungeon), len(dungeon[0])BIG 10**9dp [[BIG] * (m 1) for _ in range(n 1)]dp[n][m - 1] dp[n - 1][m] 1for i in range(n - 1, -1, …

一文读懂LLM API应用开发基础(万字长文)

前言 Hello,大家好,我是GISer Liu😁,一名热爱AI技术的GIS开发者,上一篇文章中我们详细介绍了LLM开发的基本概念,包括LLM的模型、特点能力以及应用;😲 在本文中作者将通过&#xff1a…

Redis—Set数据类型及其常用命令详解

文章目录 一、Redis概述Set类型1 SADD:向集合(Set)中添加一个或多个成员2 SCARD:获取集合(Set)中成员数量3 SDIFF:获取多个集合之间的差集4 SDIFFSTORE:计算多个集合之间的差集,并将结果存储在指定的目标集合中5 SMEMB…

Android 你应该知道的学习资源 进阶之路贵在坚持

coderzheaven 覆盖各种教程,关于Android基本时案例驱动的方式。 非常推荐 thenewcircle 貌似是个培训机构,多数是收费的,不过仍然有一些free resources值得你去挖掘。 coreservlets 虽然主打不是android,但是android的教程也​ 是…

Linux配置中文环境

文章目录 前言中文语言包中文输入法中文字体 前言 在Linux系统中修改为中文环境,通常涉及以下几个步骤: 中文语言包 更新源列表: 更新系统的软件源列表和语言环境设置,确保可以安装所需的语言包。 sudo apt update sudo apt ins…

华为某员工爆料:三年前985本科起薪30万,现在硕士起薪还是30w,感慨互联网行情变化

“曾经的30万年薪,是985本科学历的‘标配’,如今硕士也只值这个价?” 一位华为员工的爆料,揭开了互联网行业薪资变化的冰山一角,也引发了不少人的焦虑:互联网人才“通货膨胀”的时代,真的结束了…

Java基础的重点知识-04-封装

文章目录 面向对象思想封装 面向对象思想 在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算机事件的设计思想。 面向对象思想的三大基本特征: 封装、继承、多态 1.类和对象 类是对象的抽象&#xff…

Python17 多进程multiprocessing

1.多进程与多线程的区别 在Python中,多线程(multithreading)和多进程(multiprocessing)是两种并行执行任务的方式,它们有一些关键的区别: 进程和线程的基本区别: 进程:进…

Vision Pro的3D跟踪能力:B端应用的工作流、使用教程和经验总结

Vision Pro的最新3D跟踪能力为工业、文博、营销等多个B端领域带来了革命性的交互体验。本文将详细介绍这一功能的工作流、使用教程,并结合实际经验进行总结。 第一部分:工作流详解 一、对象扫描 使用Reality Composer iPhone应用程序对目标对象进行3D扫描,如吉他或雕塑,…

【动态规划】1130. 叶值的最小代价生成树

1130. 叶值的最小代价生成树 难度:中等 力扣地址:https://leetcode.cn/problems/minimum-cost-tree-from-leaf-values/description/ 题目内容 给你一个正整数数组 arr,考虑所有满足以下条件的二叉树: 每个节点都有 0 个或是 2 个…