Emacs:如何绑定敲击两次的键?

2023-11-30

我正在使用 Emacs (23) 并且我正在绑定C-.功能的组合键:

(global-set-key (kbd "C-.") 'myfunction)

是否可以绑定快速“双击”按键?例如我想调用一个函数myfunction打字时.很快两次。


没有任何内置内容,但您可以使用此代码。自定义变量dc-single-click-cmd and dc-double-click-cmd成为你想要的命令。

注意:这会带来轻微的延迟,因为代码需要等待一点时间才能确定事件是单击还是双击。

(defvar dc-single-click-cmd 'dc-example-single-click)
(defvar dc-double-click-cmd 'dc-example-double-click)
(defvar dc-click-timer nil
  "Pending single-click event.")
(defun dc-example-single-click ()
  (interactive)
  (message "A single click just happened."))
(defun dc-example-double-click ()
  (interactive)
  (message "Wait!  I meant double click."))
(defun dc-click-cmd ()
  "Either kick off a single click, or a double click."
  (interactive)
  (if dc-click-timer
      (progn
        (cancel-timer dc-click-timer)
        (setq dc-click-timer nil)
        (call-interactively dc-double-click-cmd))
    (setq dc-click-timer (run-at-time (when double-click-time 
                                            (/ 1000.0 double-click-time))
                                      nil
                                      'dc-call-single-click))))
(defun dc-call-single-click ()
  "spawn the single click"
  (setq dc-click-timer nil)
  (call-interactively dc-single-click-cmd))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Emacs:如何绑定敲击两次的键? 的相关文章

  • Emacs:如何拉动最后拉动的文本,无论后续杀戮如何?

    我经常发现自己在完成一些杀戮后反复猛拉一些东西 它变成了一个像这样的过程 C y C y M y C y M y M y C y M y M y M y 每次我删除一些文本时 它都会将第一个删除推回到删除环中 以便我需要循环遍历所有删除以返
  • 符号的函数定义为 void:declare-function

    emacs 新手 OSX 上的 GNU Emacs 22 1 1 按照说明安装了邪恶 我得到 Symbol s function definition is void declare function emacs debug init gi
  • 如果文件有自动保存数据,emacs-daemon 启动会冻结

    我设置了桌面 el这样 emacs 在启动时会自动重新打开上次我杀死 emacs 时保持打开状态的所有文件 现在 当我将 emacs 作为守护进程启动并且重新打开的文件之一具有自动保存数据时 守护进程会显示通常的自动保存数据消息 file
  • windows下无法用emacs + sbcl启动slime

    我想配置我的 emacs 以使用 SLIME 和 SBCL emacs 文件如下所示 add to list load path D app slime setq inferior lisp program sbcl require sli
  • 如何根据文件位置运行钩子

    我参与了使用选项卡的 python 项目 但是我没有在我编写的所有其他代码中使用它们 在该特定项目中使用它们至关重要 项目位于特定目录下的一个目录中 IE main folder project1 project2 project3 etc
  • emacs 启动后更改 X11 窗口标题

    当我启动 emacs 时 我可以使用 title 选项来控制保存 emacs 应用程序的 x 窗口的标题 emacs从elisp启动后可以更改标题吗 M x set frame name NewName RET 和来自 elisp set
  • 如何从 Emacs 中运行 Cygwin Bash Shell?

    我在 Windows 上运行 GNU Emacs 因此输入 M x shell 启动 Windows 命令行 DOS shell 但是 我希望能够从 Emacs 中运行 Cygwin Bash Shell 或任何其他非 Windows sh
  • emacs中如何删除重复行

    我的文本有很多行 我的问题是如何删除 emacs 中的重复行 在没有外部实用程序的情况下使用 emacs 或 elisp 包中的命令 例如 this is line a this is line b this is line a 删除第三行
  • 如何在 ubuntu 上的 emacs 中运行 shell 命令,同时避免 bash 作业控制错误?

    我在 ubuntu 中安装了 emacs 使用 sudo apt get install emacs 我遇到的问题是 当我尝试从 emacs 中运行 shell 命令时 例如M ls 输出之前是这样的 bash cannot set ter
  • eshell (elisp shell) 启动时读取什么设置文件? eshell 如何设置它的 PATH?

    使用 emacs eshell echo PATH 显示与 PATH 环境变量不同的路径 我还检查了 eshell 不读取 bashrc 或 profile 我认为这就是路径不同的原因 eshell 启动时读取什么设置文件 eshell 如
  • Emacs:结合 isearch-forward 和 center-top-bottom

    预先非常感谢您的帮助 在 Emacs 中 我喜欢使用 iseach forward C s 但如果突出显示的字体单词位于屏幕中间而不是最底部的中心 我会更喜欢它 我发现自己不断地这样做 C s foo C s C s C s 哦 这就是我一
  • 带有 Viper 和 Vimpulse 的 Emacs 缺少哪些 Vim 功能?

    Emacs 的一些重要功能在 Vim 中是缺失的 例如 comint 模式 并且没有脚本 插件可以替代它们 与 Emacs 相比 Vim 也有一些优点 例如模式编辑和通常更好的默认快捷键 然而 Viper 模式让我两者兼而有之 Vimpul
  • Windows、Emacs、Git Bash 和 shell 命令

    Windows 7 Emacs 24 3 1 git 1 8 1 msysgit 1 我的等效 emacs 文件中有以下内容 if equal system type windows nt progn setq explicit shell
  • 配置jedi不自动完成?

    我在 emacs 中安装了 jedi mode 来进行 python 编辑 因为我发现C and C 对于跳转到定义并返回非常有用 然而 自动完成并不是我想要的 当我尝试在安装了 jedi 的情况下使用 emacs 时 它会不断尝试提供建议
  • 为什么在 emacs-lisp 中的函数参数之前使用#'?

    我熟悉 Emacs Lisp 但不熟悉 Common 或任何其他 Lisp 一些 Lisp 程序员建议 例如emacs 的基本功能 https stackoverflow com questions 17076646 a basic fun
  • Org-Mode 中的 FlySpell 可以像 auctex 一样识别 Latex 语法

    原始回复 我试图弄清楚在 auctex 模式下乳胶如何在打开 Flyspell 的情况下似乎不会突出显示任何乳胶功能 这是一个自定义词典文件还是如何实现的 这可以很容易地合并到组织模式文件中 这样它就不会突出显示将导出的插入乳胶代码吗 编辑
  • 在多个 emacs 缓冲区上执行特定命令

    有没有办法在多个缓冲区上执行 emacs 命令 而不必单独选择它们并在每个单独的缓冲区上执行它 我通常打开与特定正则表达式匹配的多个文件 例如 py并希望启用特定模式 例如hs minor mode or glasses mode在每个上
  • Emacs + 流浪汉 + plink

    我正在尝试让 emacs trapmp 在 Windows XP 下运行 以便在 Amazon EC2 实例上通过 putty plink 工作 用于执行此操作的文档很少 我可以找到部分文档 但没有一个文档能够解决实现此功能所需的所有步骤
  • 永久启用所有禁用的命令

    我想启用 Emacs 中所有禁用的命令 例如downcase region 也就是说 当调用时 它们不会要求用户确认 不幸的是 Emacs 手册的 48 3 11 禁用命令 部分没有提及启用all禁用命令永久 Emacs版本 24 0 95
  • Emacs 是否具有单词和行补全功能(如 Vim 的插入模式补全功能)?

    Vim 完成单词和行CTRL X P and CTRL L 有一个名为 Company mode 的 Emacs 插件 但该插件会干扰 Emacs 中的许多内容并导致冲突 与全局 linum 和 yasnippets 我知道我可以在 Ema

随机推荐

  • Karate BDD中提取带双引号的json数据

    如何从下面的 json 响应负载中提取身份验证令牌以在后续请求中使用 似乎我遇到了麻烦 因为键值中的键有双引号 特征 test oauth背景 网址https xxx yyy com设想 Get xxx subject给定路径xxx oau
  • Android 在 webview 中播放 youtube 视频 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我想在 WebView 中播放 YouTube 视频或 当用户单击 YouTube 视频时 我必须将其转发到真正的 YouTube 应用程序 因为在 WebView 中我无法播放
  • 用于 CGM(计算机图形图元文件)格式的 .NET 或 C# 库?

    有谁知道用于在 WinForms 和 Microsoft Service Reports CrystalReports 中显示 CGM 文件以便也可以打印的 NET C 库 如果它还能够将文件转换为网络友好的图形格式 如 jpeg gif
  • C# 合并运算符

    为什么下面的代码返回 false public static void Main bool someCondition true bool someConditionOverride false bool result someCondit
  • 在 Android 上将 UTC 转换为本地时间

    在我的项目中 我获得了 json 格式的 API 响应 我得到一个 UTC 时间格式的时间字符串值 如下所示Jul 16 2013 12 08 59 AM 我需要将其更改为当地时间 这就是我们使用此应用程序时需要显示当地时间的地方 我该如何
  • 如何确保修改 .h 文件时,包含该文件的 .cc 文件会在使用 Visual Studio 2008 的发布版本中自动编译?

    假设我的 Visual Studio 2008 项目中有 a h a cc 和 b cc a cc 和 b cc 都包含 a h 当我修改 a h 并构建项目时 a cc 和 b cc 在调试版本中进行编译 然而 在发布版本中情况并非如此
  • 虚函数效率和“final”关键字

    考虑一个有类的程序Foo包含一个函数Foo fn声明如下 virtual void fn 和一个子类Foo called Bar 将会声明Bar fn像这样 virtual void fn override final 导致呼叫fn in
  • 找不到导入tuneup.js文件

    使用 Xcode iOS Instruments UI Automationtunup js javascript 库https github com alexvollmer tuneup js 我在理解我启动的仪器的当前工作目录方面遇到了
  • 更新自定义字段结束于无限循环

    我在 AR 发票和备忘录 屏幕 ID AR301000 中有一个对应 AP 参考的自定义字段 Nbr 在类似的管理器中 AP 账单和调整 屏幕 ID AP301000 中的另一个自定义字段对应于相应的 AR 参考 Nbr 我正在尝试更新 A
  • 如何在 C# 中从数据库检索时将 varBinary 转换为图像或视频

    我正在使用 Visual Studio 2010 桌面应用程序 并使用 LINQ to SQL 将图像 视频或音频文件保存到 dataType 中的数据库VarBinary MAX 我可以做到这一点 问题是 我无法获取它们并在 xaml 中
  • 使用VBS下载文件

    我有一个 VBS 脚本 可以生成一个 URL 以从网络上的服务器下载文件 我现在需要将文件下载到 C rWallpaper wallpaper png URL 存储在变量中 url 我希望它能像 Linux 上的 wget 一样工作 只需下
  • JVM的LookupSwitch和TableSwitch有什么区别?

    我很难理解 Java 字节码中的 LookUpSwitch 和 TableSwitch 如果我理解得好的话 LookUpSwitch 和 TableSwitch 都对应于switchJava 源代码声明 为什么一条 JAVA 语句会生成 2
  • 为什么这里没有生成 Coredump 文件?

    我这里遇到一种情况 几天前我能够在目标板上看到核心转储文件 我通过在 etc profile 中添加 ulimit c unlimited 来启用核心转储生成 但后来有人告诉我 这会only对从登录 shell 启动的程序有效 对由以下命令
  • Hibernate 拦截器 - 加载事件之后

    实体加载后是否发生任何事件 我的目标是将这个实体添加到 Solr 或 Lucene 索引中 EmptyInterceptor OnLoad 事件发生在对象初始化之前 我想在设置对象属性后处理事件 是否可以使用 Hibernate 拦截器或其
  • Java - 使用 catch 块内的方法返回语句并引发异常?

    我有以下代码 使用 hibernate 在错误时引发自定义异常 并且我还想在这种情况下关闭会话 因为除非在客户端计算机上接收到 否则不会捕获异常 public
  • 如何将 Google 表格文件转换为 Excel 文件 (XLSX)

    The image shows the code who is updated var xlsFile 未定义 为什么 如何使用 Google Sheets 脚本编辑器将 Google Sheets 文件转换为 Excel 文件 funct
  • 无效签名错误!

    我正在尝试更新我的应用程序 但上传二进制文件后 Itunes connect 向我发送了以下电子邮件 尊敬的开发者 感谢您的 最近提交的 我的应用程序 的二进制文件 到应用商店 不幸的是我们 发现您的二进制文件存在问题 您需要按顺序更正 以
  • SVG 中的单击事件坐标

    该 HTML 包含 SVG div class container div class spacer div div
  • 使用 grep 获取每行匹配后的下一个 WORD

    我想得到 GET 来自我的服务器日志的查询 例如 这是服务器日志 1 0 0 127 in addr arpa 10 Jun 2012 15 32 27 code 404 message File not fo 1 0 0 127 in a
  • Emacs:如何绑定敲击两次的键?

    我正在使用 Emacs 23 并且我正在绑定C 功能的组合键 global set key kbd C myfunction 是否可以绑定快速 双击 按键 例如我想调用一个函数myfunction打字时 很快两次 没有任何内置内容 但您可以