emacs 中的键盘宏
emacs 中的键盘宏
宏定义是emacs比较强大的功能,自定义宏然后绑定快捷键之后就更加爽了。
vim 当然也有宏功能,而且用法简单,例如录制宏到a寄存器:qa...q, 执行宏a: @a
世界就是由循环和递归构成的. 宏定义就是一个执行体,为了以后的循环做准备的
开启宏记录 C-x ( 或者 f3
关闭宏记录 C-x ) 或者 f4
执行刚刚录制的宏 C-x e 或者 fr
循环执行n次刚刚录制的宏 C-u n C-x e, 哈哈,录了半天就是为了这一下爽! 是啊,我们不愿做重复劳动!
给刚刚记录的宏记录编辑一个名字 M-x name-last-kbd-marco 然后输入名字, 例如macro1
把刚刚起名字的宏记录写入到文件里面 , 以便将来我们可以重复使用它
先建立一个记录宏记录的文件,例如建立了~/.emacs.d/my_macro.el文件, 若只是实验则可随便起个名字,例如1.txt
M-x insert-kbd-marco 然后输入宏的名字,例如macro1
把宏记录写入到里面。C-x C-s
以后加载这个宏记录文件的方式:
在init.el中添加 (load-file "~/.emacs.d/my_macro.el")就能加载了.
再用(global-set-key (kbd "...." ) '....)就能用绑定快捷键到一个相应名字的宏操作了。
----------------------------------------
现在我们研究一下这个宏记录的是什么.
----------------------------------------
(fset 'bookmark
[return ?\C-p ?B ?o ?o ?k ?m ?a ?r ?k ?B ?e ?g ?i ?n ?\C-n ?\C-a])
fset 是一个函数, 定义一个符号的功能 (fset SYMBOL Definition)
'bookmark 是一个引用
[] 是什么? 它括住的是一个vector
vector使用的是方括号来进行区间界定。[1 "two" (three)]
vector 是一维数组.不同于lisp的列表,vector访问任何一个元素的时间都是相同的。
而列表的访问速度其实是跟元素在列表的偏移位置相关的
搞过c 的人是容易理解的.
return , 你敲了return 键
?\C-p ,你敲了C-p 键
?B ?o ... , 你敲了BookmarkBegin 字符键
?\C-n ?\C-a, 你敲了C-n C-a键
Emacs 中的键盘宏功能有两种模式:macros 和kmacros。
前者以符号形式返回宏,后者提供 lambda 形式。
前者调用方式为: M-x name-last-kbd-macro,你会得到一个符号形式,
后者调用方式为: kmacro-name-last-macro,你会得到一个 lambda 形式。
相关文章:
emacs 中的键盘宏
emacs 中的键盘宏 宏定义是emacs比较强大的功能,自定义宏然后绑定快捷键之后就更加爽了。 vim 当然也有宏功能,而且用法简单,例如录制宏到a寄存器:qa...q, 执行宏a: a 世界就是由循环和递归构成的. 宏定义就是一个执行体,为了以后的循环做准备的 开启宏记录 C-x ( 或…...
TCP/IP网络编程——关于 I/O 流分离的其他内容
完整版文章请参考: TCP/IP网络编程完整版文章 文章目录第 16 章 关于 I/O 流分离的其他内容16.1 分离 I/O 流16.1.1 2次 I/O 流分离16.1.2 分离「流」的好处16.1.3 「流」分离带来的 EOF 问题16.2 文件描述符的的复制和半关闭16.2.1 终止「流」时无法半关闭原因16.2…...
【BCT认证_组播DNS】 DNS SRV RR
每天遇见几个罕为人知的Bug,醉了 定义 关键字“必须”、“不能”、“应该”、“不应该”和“可以”本文档中使用的术语应按照 [BCP 14] 中的规定进行解释。本文档中使用的其他术语在 DNS 中定义规范,RFC 1034。 适用性声明 一般情况下,预计…...
【验证码的识别】—— 点触式验证码的识别
一、前言 大家好,不知不觉的我来csdn已经又一周年了,在这一年里,我收获了很多东西,我是2022年2月22日入驻CSDN的,一开始只是为了方便浏览文章的,后来,我也有事没事发发文章,创作了1…...
深入浅出C++ ——priority_queue类深度剖析
文章目录一、priority_queue类简介二、priority_queue类常用接口三、priority_queue类的使用四、STL中priority_queue类的模拟实现一、priority_queue类简介 优先队列是一种容器适配器,根据严格的弱排序标准,它的第一个元素总是它所包含的元素中最大的。…...
117.Android 简单的拖拽列表+防止越界拖动(BaseRecyclerViewAdapterHelper)
//1.第一步 导入依赖库和权限: //依赖库: //RecyclerView implementation com.android.support:recyclerview-v7:28.0.0//RecyclerAdapter implementation com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.28 //用到的权限: <!…...
什么是Struts2?有哪些优势
Java中Strutsl是最早的基于MVC模式的轻量级Web框架,它能够合理地划分代码结构,并包含验证框架、国际化框架等多种实用工具框架。但是随着技术的进步,Struts1的局限性也越来越多地暴露出来。为了符合更加灵活、高效的开发需求,Stru…...
Ubuntu22.04 安装Mongodb6.X
Ubuntu22.04 安装Mongodb6.X 1、Mongodb简介 1.1 什么是MongoDB? Mongodb是一个跨平台的面向文档的NoSQL数据库。它使用带有可选模式的类似JSON的BSON来存储数据。应用程序可以以JSON格式检索信息。 1.2 MongoDB的优点 可以快速开发web型应用,因为灵活,…...
启动内核,能启动内核但是无法进入内核,始终卡在某一地方,比如 No soundcards found.
项目场景: 配置好uboot后,启动内核,能启动内核但是无法进入内核,始终卡在某一地方,比如下图 ALSA device list:No soundcards found.问题描述 原因分析: 这是无法进入根文件系统而出现的错误,…...
SQL零基础入门学习(六)
SQL零基础入门学习(六) SQL零基础入门学习(五) SQL 通配符 通配符可用于替代字符串中的任何其他字符。 SQL 通配符用于搜索表中的数据。 在 SQL 中,可使用以下通配符: 演示数据库 在本教程中ÿ…...
股票、指数、快照、逐笔... 不同行情数据源的实时关联分析应用
在进行数据分析时经常需要对多个不同的数据源进行关联操作,因此在各类数据库的 SQL 语言中均包含了丰富的 join 语句,以支持批计算中的多种关联操作。 DolphinDB 不仅通过 join 语法支持了对于全量历史数据的关联处理,而且在要求低延时的实时…...
华为OD机试真题Python实现【 不含 101 的数】真题+解题思路+代码(20222023)
不含 101 的数 题目 小明在学习二进制时,发现了一类不含 101 的数, 也就是将数字用二进制表示,不能出现 101 。 现在给定一个正整数区间 [l,r],请问这个区间内包含了多少个不含 101 的数? 🔥🔥🔥🔥🔥👉👉👉👉👉👉 华为OD机试(Python)真题目录汇…...
centos7 搭建ELK(elasticsearch、logstash、kibana)
1、下载安装包 使用华为镜像站下载速度很快,华为镜像站:https://mirrors.huaweicloud.com/home,下载时需要保证版本一致 2、安装elasticsearch 解压到当前目录 [rootlocalhost elk]# tar zxvf elasticsearch-7.4.2-linux-x86_64.tar.gz 安…...
如何写新闻稿?写好新闻稿的技巧与步骤
新闻稿是传递新闻事件和信息的重要手段,是传媒工作中不可或缺的一部分。写好一篇新闻稿可以让受众了解更多信息,进一步提高他们的关注度。以下是一些写好新闻稿的技巧和步骤,帮助你有效地传达新闻。1、确定新闻的核心信息在开始写新闻稿之前&…...
抖音不想只做“开心果”
出品 | 何玺 排版 | 叶媛 2023一开年,抖音就新动作不断。先是宣布启动线上超市,继而又传出将在3月份试水外卖业务,展现出多面出击的姿态。 01 抖音杀入线上超市、外卖赛道 抖音正式杀入“线上超市”赛道。据多家媒体报道,抖音…...
MATLAB | 如何用MATLAB绘制这样有气泡感的网络图
今天给大家带来一款用来绘制有气泡感的网络图的工具函数,绘制效果如下: 花里胡哨的,气泡大小代表流入流出数据量综合,不同颜色的气泡代表属于不同类,两个气泡之间有连线代表有数据流动,连线透明度代表流动数…...
Linux 远程登录
Linux 一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的 Linux 服务器。 这时我们就需要远程登录到Linux服务器来管理维护系统。 Linux 系统中是通过 ssh 服务实现的远程登录功能,默认 ssh 服务端口号为 22。 Window 系统…...
SAP中BOM基础数量及组件数量单位比例关系的注意事项
下图是BOM展开功能CS11在正式系统和测试系统的截图。从截图中的对比不难看出,最下级的原材料A20981-110在组件的数量为1,实际按BOM中的设定比例折算,应该是1个成品,对应需要0.125件原材料。但这里显示的并不是0.125PC,…...
华为OD机试真题Python实现【最大相连男生数】真题+解题思路+代码(20222023)
最大相连男生数 题目 学校组织活动,将学生排成一个矩形方阵。 请在矩形方阵中找到最大的位置相连的男生数量。 这个相连位置在一个直线上,方向可以是水平的、垂直的、成对角线的或者反对角线的。 注:学生个数不会超过 10000。 🔥🔥🔥🔥🔥👉👉👉👉👉�…...
Vue使用ElementUI对表单元素进行自定义校验
前言 在使用ElementUI的表单元素时候,除了做一些简单的非空处理校验,在一些特殊的场合,还需要我们做一些自定义校验。 其实ElementUI不仅提供了基本的非空校验,也对我们提供了自定义检验。 在使用的时候还是遇到了一些坑&#…...
除了ulimit -c unlimited:深入理解Linux core dump机制与高级配置指南
深入Linux核心转储:从基础配置到生产环境实战指南当服务器上的关键应用突然崩溃时,系统管理员最需要的就是一份完整的"事故现场记录"。Linux的core dump机制正是为此而生,它能保存程序崩溃时的内存状态、寄存器值和调用堆栈&#x…...
Lampiao 靶场
Lampiao 靶场完整渗透解析一、靶场环境信息攻击机(Kali)IP:192.168.146.128靶机 IP:192.168.146.129目标:获取靶机 root 权限与 flag二、步骤 1:信息收集(端口与服务扫描)nmap -p- -…...
GitLab External Wiki代理权限绕过漏洞深度解析
1. 这个漏洞不是“修个补丁”就能完事的——它暴露的是 GitLab 权限模型里一个被长期忽视的逻辑断层GitLab 安全漏洞 CVE-2025-2614,光看编号容易误以为是又一个常规的越权或 XSS 类型漏洞。但我在实际复现和审计过程中发现,它根本不是配置疏漏或代码拼写…...
Taotoken平台快速获取APIKey并开始你的第一个Python调用示例
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken平台快速获取APIKey并开始你的第一个Python调用示例 1. 准备工作:注册与登录 要开始使用Taotoken,…...
AI写的论文双率如何压到20%以下?这几款工具实测有效
毕业季、投稿季用AI写论文已经成为不少人的高效选择,但查重率飘红、AIGC疑似率超标两大问题,让很多人犯了难。2026年学术检测标准持续收紧,知网、维普及主流AIGC检测系统同步上线双检规则,两项指标均控制在20%以下才符合基本提交要…...
电子商务设计师软考备战:特别篇 - 综合模拟与备考策略
1. 考试形式与内容结构1.1 考试基本信息考试科目与时间基础知识考试:上午9:00-11:30(150分钟)应用技术考试:下午2:00-4:30(150分钟)题型与分值分布上午考试(基础知识): -…...
关于psthon问题
我想问问各位 我python可以查到 但是我的bit文件查不到python怎么回事...
科华UPS电源全品类汇总:选型与场景适配指南
科华UPS电源作为国内智慧电能领域的主流产品,覆盖家用、办公、机房、工业等全场景,产品系列丰富、规格齐全,但多数用户在选型时,常因分不清系列差异、功率适配、架构类型而踩坑。本文系统汇总科华UPS电源的核心分类、主流系列、核…...
告别元素变动导致的报错:探索自动化测试脚本的 AI“自愈”能力
前言:一个所有测试人都经历过的噩梦 周三晚上十一点,CI/CD流水线再次亮起红灯。 你打开日志,满屏的NoSuchElementException扑面而来。仔细一看——前端团队在昨天的版本中重构了登录页面的DOM结构,原本的#login-btn变成了#signin-button-v2,30个测试用例因此全军覆没。 …...
CausalVLR基准测试报告:在IU X-Ray和MIMIC-CXR数据集上的性能分析
CausalVLR基准测试报告:在IU X-Ray和MIMIC-CXR数据集上的性能分析 【免费下载链接】CausalVLR CausalVLR: A Toolbox and Benchmark for Vision-Language Causal Reasoning (多模态因果推理开源框架) 项目地址: https://gitcode.com/gh_mirrors/ca/CausalVLR …...
