首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在我的Emacs init文件中生成键盘宏?

如何在 Emacs init 文件中生成键盘宏?

要在 Emacs 的初始设置文件(~/.emacs.d/init.el)中创建键盘宏,您可以按照以下步骤操作:

  1. 安装 evil-modeevil-collection

如果您还没有安装它们,请运行以下命令进行安装:

代码语言:txt
复制

M-x package-install RET evil-mode RET evil-collection RET

代码语言:txt
复制
  1. 创建自定义键绑定

在您的 ~/.emacs.d/init.el 文件中,添加以下代码:

代码语言:emacs
复制

(require 'evil-collection)

(evil-collection-define-key 'normal 'global-map

代码语言:txt
复制
 "q"   'quit-window
代码语言:txt
复制
 "ZQ"  'bury-buffer
代码语言:txt
复制
 "bb"  'switch-to-buffer
代码语言:txt
复制
 "bd"  'delete-frame
代码语言:txt
复制
 "fj"  'find-file-at-point
代码语言:txt
复制
 "xl"  'delete-trailing-whitespace
代码语言:txt
复制
 "ae"  'eval-expression
代码语言:txt
复制
 "sa"  'save-buffer
代码语言:txt
复制
 "sb"  'save-buffers-kill-emacs
代码语言:txt
复制
 "ka"  'kill-all-buffers
代码语言:txt
复制
 "gc"  'kill-buffer-and-window
代码语言:txt
复制
 "xg"  'exchange-point-and-mark
代码语言:txt
复制
 "ci"  'copy-region-as-kill
代码语言:txt
复制
 "co"  'copy-region-as-kill
代码语言:txt
复制
 "rc"  'recenter
代码语言:txt
复制
 "ar"  'advertised-restart
代码语言:txt
复制
 "o"   'find-file
代码语言:txt
复制
 "u"   'find-file-other-window
代码语言:txt
复制
 "j"   'find-file-read-only
代码语言:txt
复制
 "f"   'find-file
代码语言:txt
复制
 "F"   'find-file-read-only
代码语言:txt
复制
 "g"   'goto-line
代码语言:txt
复制
 "L"   'goto-line
代码语言:txt
复制
 "r"   'replace-string
代码语言:txt
复制
 "R"   'replace-string
代码语言:txt
复制
 "s"   'save-buffer
代码语言:txt
复制
 "S"   'save-buffers-kill-emacs
代码语言:txt
复制
 "q"   'quit-window
代码语言:txt
复制
 "p"   'previous-buffer
代码语言:txt
复制
 "n"   'next-buffer
代码语言:txt
复制
 "o"   'other-window
代码语言:txt
复制
 "u"   'undo
代码语言:txt
复制
 "Ctrl-g" 'keyboard-quit
代码语言:txt
复制
 )

)

代码语言:txt
复制

这将创建一些基本的键盘快捷键,用于在 Emacs 中执行常见任务。

  1. 自定义 evil-collection 键盘宏

您可以根据需要创建和使用自定义的 evil-collection 键盘宏。只需在 ~/.emacs.d/init.el 文件中添加相应的代码。例如,创建一个名为 my-super-save.el 的文件,并添加以下内容:

代码语言:emacs
复制

(defun my-super-save ()

代码语言:txt
复制
 (interactive)
代码语言:txt
复制
 (let ((inhibit-message t))
代码语言:txt
复制
   (save-buffer)
代码语言:txt
复制
   (message "Saved")))

(add-to-list 'evil-collection-key-bindings 'my-super-save)

代码语言:txt
复制

保存 my-super-save.el 文件,然后在 ~/.emacs.d/init.el 文件中添加以下内容,以加载 my-super-save.el 文件:

代码语言:emacs
复制

(require 'my-super-save)

代码语言:txt
复制

现在,您可以通过按下 Ctrl + Shift + S 组合键来调用 my-super-save 函数。

  1. 自定义其他键盘宏

您可以继续创建、编辑和添加其他自定义键盘宏,以适应您在 Emacs 中的工作方式。

  1. 使用插件和扩展

如果您需要更多的功能,可以考虑使用 Emacs 社区的插件和扩展。在 Emacs 中,您可以使用 package-install 命令安装插件和扩展。

通过这些步骤,您可以在 Emacs 中创建自定义键盘宏,以适应您的需求和偏好。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 文档化身商业木马,对“盗神”的分析与溯源

    前言 利用文档进行木马传播的手法,最近一段时间随着敲诈类木马的流行,而被广泛利用了起来。与此同时,这个手法也开始被传统木马所借鉴。近日哈勃分析系统捕捉到一类隐私窃取类木马,也开始利用文档作为自身的传播手段。 据分析,此木马通常定向攻击企业商务用户,目前已经有大量受害者的隐私被窃取,包括黎巴嫩,美国,印度,意大利,马来西亚,韩国,尼日利亚,英国,泰国,希腊,墨西哥,越南等国家,在中国境内也发现有台湾和广东的企业用户被植入该木马,包括邮箱密码、网站密码、聊天记录、桌面截图等在内的大量隐私遭到泄漏。顺着这个线索,

    05

    vc60修改快捷键-MSDEV.EXE 版本

    使用VS6.0(VC++ or other)打开或添加项目时出现[MSDEV.EXE-应用程序错误""指令引用的""内存,该内存不能为"read";""指令引用的""内存,该内存不能为"read" ],这个可能是VS6.0和OFFICE 2007有冲突的缘故,下面是解决办法:首先去下载一个(exe 下载后解压缩),下载过来是一个C++原始文件,需要通过VC编译一下产生一个 .dll将这个插件复制到X:\ Files\ Visual Studio\Common\AddIns重新打开VC6,Tools->->Add-ins and Macro Files,选中 Studio Add-in即可。此时打开VC6会有一个浮动工具栏(A O),点击A就是添加文件到工程,点击O就是打开文件。是不是很怪啊,竟然做了一个插件进来,并没有对原先的冲突进行改进。VC6.0和Visio两个软件有冲突,把Visio卸载掉即可,若卸载无效,可按下述方法添加一个宏程序补救。

    02

    vc60修改快捷键-MSDEV.EXE-应用程序错误解决办法

    使用VS6.0(VC++ or other)打开或添加项目时出现[MSDEV.EXE-应用程序错误""指令引用的""内存,该内存不能为"read";""指令引用的""内存,该内存不能为"read" ],这个可能是VS6.0和OFFICE 2007有冲突的缘故,下面是解决办法:首先去下载一个(exe 下载后解压缩),下载过来是一个C++原始文件vc60修改快捷键,需要通过VC编译一下产生一个 .dll将这个插件复制到X:\ Files\ Visual Studio\Common\AddIns重新打开VC6,Tools->->Add-ins and Macro Files,选中 Studio Add-in即可。此时打开VC6会有一个浮动工具栏(A O),点击A就是添加文件到工程,点击O就是打开文件。是不是很怪啊vc60修改快捷键,竟然做了一个插件进来,并没有对原先的冲突进行改进。VC6.0和Visio两个软件有冲突,把Visio卸载掉即可,若卸载无效,可按下述方法添加一个宏程序补救。

    02

    IDEA Intellij小技巧和插件

    使用IDEA Intellij已有两年,在此罗列一下在实践中觉得能有效提升开发效率的一些小技巧和插件。  1. 重设移动键 方向键和Home/End键离基键太远,经常把手移过去其实很费时。所以建议重设到主键盘上。考虑到后面会提到的IdeaVim插件,所以最好使用类似Vim的方案。我个人的设定是:  Ctrl+H  ←  Ctrl+J  ↓  Ctrl+K  ↑  Ctrl+L  →  Ctrl+A  End (Vim中Shift+A是在行尾插入)  Ctrl+I  Home (Vim中Shift+I是在行首插入)  被冲掉的原本的快捷键可以设到Alt上(最常用的Ctrl+A全选和Ctrl+J Live Template)。当然你也可以把移动键设在Alt上,不过使用标准键盘时,左Ctrl可以用手掌来按(使用emacs的必备技能),非常方便。所以我个人喜欢把常用操作设到Ctrl上。  2. 好用的Select Word at Caret快捷键 在IDEA的Keymap中有Select Word at Caret这个动作,字面意思是“选中光标所在的单词”,默认快捷键是Ctrl+W。但事实上,这个动作的实际操作是选中更上一层的语法结构。例如,如果你在一个字符串的一个单词中,按一下Ctrl+W,会选中光标所在单词。再按一下,会选中整个字符串的内容,不包括引号。再按一下,会选中包括引号的字符串。再按一下,会选中整个表达式(如果表达式含有括号,会逐层选中)。再按一下,会选中整个语句块。再按一下,会选中整个方法。再按一下,会选中整个类。  3. Ace Jump插件 可以说Ace Jump和IdeaVim这两个插件是我使用了Intellij后再也不想用eclipse的最主要原因。Ace Jump是一种从emacs上借鉴过来的快速光标跳转方式,操作方式是:你用某个快捷键进入Ace Jump模式后,再按任一个键,当前屏幕中所有该字符都被打上一个字母标记,你只要按这个字母,光标就会跳转到这个字符上。这种跳转方式非常实用,你根本不用管当前光标在什么位置,眼睛只需要盯着需要跳转到的位置,最多三四下按键就能准确把光标定位,开始编辑。按道理这种功能非常容易实现,但偏偏到目前为止我没有在eclipse上找到类似插件。  安装与使用:  在Intellij的Setting -> Plugins -> Browse repositories中查找acejump,可以找到两个插件,AceJump和emacsIDEAs。AceJump是最纯正的Ace Jump插件,功能单一,也比较稳定,但我个人感觉没有emacsIDEAs好用。两者最大的差异是,Ace Jump是先按键调出跳转标记,再通过不同功能键(Ctrl,Shift,Alt等)配合书签按键追加额外功能(例如从当前位置选中文本至书签位置)。而emacsIDEAs是使用不同的快捷键进入不同的功能模式(例如跳转到字符,跳转到单词,选中到标签等)同时调出书签标记,然后再按书签按钮实现跳转。感觉emacsIDEAs的方式比较符合我的思维习惯。  如果选择了AceJump插件,重启Intellij后即可使用,默认快捷键是Ctrl+;(分号)。但我习惯将它重设到Alt+K。下面是使用AceJump的效果

    01
    领券