Emacs:结合 isearch-forward 和 center-top-bottom

2024-05-04

预先非常感谢您的帮助。

在 Emacs 中,我喜欢使用 iseach-forward (C-s),但如果突出显示的字体单词位于屏幕中间而不是最底部的中心,我会更喜欢它。

我发现自己不断地这样做:

C-s foo C-s C-s C-s... 哦!这就是我一直在寻找的“foo”! C-1

有没有办法让搜索结果在屏幕中间居中?

Cheers


最好的方法可能是添加以下钩子:

(add-hook 'isearch-mode-end-hook 'recenter-top-bottom)

这将执行recenter-top-bottom在每次成功的增量搜索完成时发出命令。

编辑:我已经调查了一些,并且在重复搜索相同字符串时执行的函数(即,连续输入C-s or C-r在主动搜索期间)似乎是isearch-repeat-forward and/or isearch-repeat-backward。因此,如果您还希望在每次重复时重新居中,除了定义上述钩子之外,您还需要建议所述函数,如下所示:

(defadvice
  isearch-repeat-forward
  (after isearch-repeat-forward-recenter activate)
  (recenter-top-bottom))

(defadvice
  isearch-repeat-backward
  (after isearch-repeat-backward-recenter activate)
  (recenter-top-bottom))

(ad-activate 'isearch-repeat-forward)
(ad-activate 'isearch-repeat-backward)

就我个人而言,我发现由此产生的行为非常烦人且令人迷失方向,但是古斯提布斯不存在争议。或许有所保留recenter-top-bottom用于初始isearch-mode-end-hook并使用recenter单独向repeat函数不会那么令人讨厌。

提供建议isearch-forward其本身相当于添加我上面最初建议的钩子,并且似乎对重复搜索没有影响。添加钩子更简单,而且我认为更惯用,因此它可能应该比建议函数更受青睐。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Emacs:结合 isearch-forward 和 center-top-bottom 的相关文章

  • emacs 启动后更改 X11 窗口标题

    当我启动 emacs 时 我可以使用 title 选项来控制保存 emacs 应用程序的 x 窗口的标题 emacs从elisp启动后可以更改标题吗 M x set frame name NewName RET 和来自 elisp set
  • 通过电子邮件搜索将 Excel 2003 中的数据行复制并粘贴到不同的工作表

    在任何人发表任何言论之前 我已经浏览了几篇与此类似想法相关的帖子 采用不同的搜索条件 然后对其进行修改 但我无法让宏正常工作 这可能是由于我缺乏编程知识 我想做的就是 search的电子邮件地址工作表1如果找到 则将整行复制到下一个空闲行工
  • 从 WordPress 搜索结果页面获取类别名称

    在特定博客类别中进行搜索查询 重定向到 WP BLOG 主页面 后 我的搜索 URL 如下所示 online shop s category new posts category post type post 不幸的是 我无法在搜索结果页面
  • eshell (elisp shell) 启动时读取什么设置文件? eshell 如何设置它的 PATH?

    使用 emacs eshell echo PATH 显示与 PATH 环境变量不同的路径 我还检查了 eshell 不读取 bashrc 或 profile 我认为这就是路径不同的原因 eshell 启动时读取什么设置文件 eshell 如
  • Emacs:调试Python的方法

    我把这个贴在程序员 stackexchange com https softwareengineering stackexchange com questions 29844 emacs methods for debugging pyth
  • Lua中如何在另一个表的表成员中搜索

    我正在编写一个 lua 程序 它有一个表 该表是另一个表的成员 当我向该成员表添加新日期时 一切正常 但是 当我想在该表中搜索时 无论我给出什么键 我总是会将最后一行添加到表中 如何在该成员表中正确搜索 Stream name functi
  • 如何为高流量网络应用程序实现“保存搜索”功能?

    我想知道可以在 eBay 等大型网络应用程序上找到的 保存的搜索 功能 您可以做的就是保存搜索 例如 宾得镜头 50mm 1 4 每当有人出售符合搜索条件的新优质标准快速宾得镜头时 您都会收到通知 对我来说 实现此类功能并不是一件简单的事情
  • 通过 Emacs 评估 ghci 或 Hugs 中的缓冲区

    在 Emacs 中使用 sml mode 我已经能够使用以下命令将缓冲区内容直接发送到较差的 SML 进程C c C b 现在我只想用 Haskell 做同样的事情 Haskell 模式似乎不支持这一点 所以我想知道 使用 Emacs 和
  • 带有 Viper 和 Vimpulse 的 Emacs 缺少哪些 Vim 功能?

    Emacs 的一些重要功能在 Vim 中是缺失的 例如 comint 模式 并且没有脚本 插件可以替代它们 与 Emacs 相比 Vim 也有一些优点 例如模式编辑和通常更好的默认快捷键 然而 Viper 模式让我两者兼而有之 Vimpul
  • Emacs 强制组织模式捕获缓冲区在新窗口中打开

    如何强制组织模式的捕获缓冲区在新窗口中打开 我试过 setq special display regexps Capture 但它不起作用 我立即看到一个新窗口 然后 org mode 进行两个垂直分割 我使用 3 个垂直分割 并将捕获缓冲
  • Emacs/Swank/Paredit for Clojure 的温和教程

    我要转向 Emacs 来工作Clojure http en wikipedia org wiki Clojure Lisp 为了能够执行以下操作 我需要在 Emacs 上设置哪些信息 自动匹配 生成相应的右括号 自动缩进 Lisp Cloj
  • 如何使用 Ansible when 条件在文件中搜索字符串

    我有一个变量中用 n 分隔的搜索字符串列表listofips 我想在文件中搜索该字符串hello csv在我的下面playbook dir 我可能遇到一些语法问题 我不确定 但下面是我尝试过的 set fact listofips 10 0
  • 让 Emacs ansiterm 和 Zsh 更好地发挥作用

    我一直在尝试在 emacs 会话中使用 Zsh 而无需 emacs 重新映射所有 Zsh 键 我发现 ansi term 对此非常有效 但是我仍然遇到一些问题 我输出了很多垃圾字符 我可以用以下方法修复它 Setup proper term
  • emacs 临时文件的 .gitignore 正则表达式

    我正在尝试 gitignore emacs 临时 自动保存文件 我在用着 在我的 gitignore 中 But git add A在子文件夹中运行仍然给我 new file make collections py new file nor
  • 为什么在 emacs-lisp 中的函数参数之前使用#'?

    我熟悉 Emacs Lisp 但不熟悉 Common 或任何其他 Lisp 一些 Lisp 程序员建议 例如emacs 的基本功能 https stackoverflow com questions 17076646 a basic fun
  • Elasticsearch 关于“空索引”的查询

    在我的应用程序中 我使用了几个elasticsearch索引 它们在初始状态下不包含索引文档 我认为这可以称为 空 该文档的映射是正确且有效的 该应用程序还有一个包含实体的关系数据库 这些实体可能具有在 elasticsearch 中关联的
  • 在python中删除链表中的节点

    删除链表中的节点 这个实现有什么问题 def delete self val tmp self head prev None while tmp if val tmp data self size 1 if prev None self h
  • 在 Emacs 中,如何确定哪个包正在加载 Tramp?

    我与 ranp 和 cygwin mount 有一个奇怪的交互 我认为 Emacs 文件名的制表符补全会附加一个额外的 i cygwin https stackoverflow com questions 1705802 emacs tab
  • 用于开始和/或包含搜索的最快字符串集合结构/算法是什么

    我有以下情况 我有一个大的字符串集合 比如说 250 000 平均长度可能是 30 我要做的就是在这些搜索中进行许多搜索 大多数搜索都是 StartsWith 和 Contains 类型的 该集合在运行时是静态的 这意味着选择的集合的初始读
  • 在数据库中搜索时忽略空文本框

    此代码能够搜索数据并将其加载到DataGridView基于搜索表单文本框中提供的值 如果我将任何文本框留空 则不会有搜索结果 因为 SQL 查询是用 AND 组合的 如何在搜索 从 SQL 查询或 C 代码 时忽略空文本框 private

随机推荐

  • 无法以管理员身份更改 Windows 10 中的系统变量路径

    我正在 Windows 10 计算机中安装 Java JDK 需要通过在 Windows 设置中编辑系统变量来注册其路径 但我以管理员和普通用户身份尝试过 但它不允许我添加路径 甚至复制粘贴或仅添加任何角色 在 Win 8 中执行此操作没有
  • PHP 与 MySQL 中的资源 id #6 错误

    我这是为了我正在制作的投票系统 此代码向用户显示了他们可以从中选择的问题列表 div class main questions p class style1 style2 strong Select Your Question strong
  • 如何处理 Lollipop 5.1 上的快速滚动?

    背景 我制作了一个小型库 它展示了如何模仿 Android Lollipop 的股票联系人应用程序的风格 here https github com AndroidDeveloperLB ListViewVariants 问题 看来在And
  • 使用 xclip 将剪贴板内容粘贴到 bash 中的变量中

    我知道这个命令会将剪贴板内容粘贴到文件中 xclip out selection clipboard gt gt file txt 如果我想将剪贴板内容粘贴到变量 如字符串 中 我该怎么办 要将命令的输出分配给变量 可以使用命令替换 myv
  • .attr('disabled', 'disabled') 或 .attr('disabled', true) 用于禁用输入

    Both attr disabled disabled and attr disabled true 在我的代码中工作 但我只是想知道 两者中哪一个更有效和 或哪一个更常用 真的有区别吗 也许是性能方面 应该没有什么区别 但从 jQuery
  • WebRTC 暂停和恢复流

    我正在尝试使用 WebRTC 构建一个 Web 应用程序 当某些事件触发时需要暂停 恢复视频 音频流 我已经尝试过getTracks 0 stop 但我不知道如何恢复流 对此有什么建议吗 谢谢 getTracks 0 stop 是永久的 U
  • 如何避免在 std::pair 中“隐式”调用单参数构造函数

    最初的问题是如何与std map
  • 使用 SAML 2.0 进行 Scala Play Web 应用程序的 SSO

    我正在构建一个 scala play Web 应用程序 我需要使用支持 SAML v2 0 的 IdP 构建 SSO 功能 除了 SSO 之外 我还需要根据从 IdP 收到的角色 作为身份验证断言消息的属性 在应用程序内构建授权机制 我是
  • 为什么“not(True) in [False, True]”返回 False?

    如果我这样做 gt gt gt False in False True True 那返回True 仅仅是因为False在列表中 但如果我这样做 gt gt gt not True in False True False 那返回False 然
  • Golang 中的“相互”包导入

    是否可以在 Golang 中执行 相互 包导入之类的操作 举例来说 我有两个包 A 和 B 分别具有 AFunc 和 BFunc BFunc2 函数 package A import B func AFunc do stuff but al
  • 保存 Mongoose 文档时出现版本错误

    我有一个问题 不确定我是否做错了什么或者这是一个错误 我有一些产品 每一种都有一系列的变体 我想浏览一些数据并以这些变体加载它 但我遇到了许多 版本错误 找不到匹配的文档 错误 认为我遇到了竞争条件 我为我修改的每个变体依次保存相同的文档
  • d3.js V4 按钮缩放实现表现得很奇怪

    我正在尝试实现 d3 平移和缩放功能 默认的平移和缩放工作正常 但要求是我们还需要放大和缩小按钮 我还实现了缩放按钮 它也有效 奇怪的是 当我第一次移动图像并单击缩放按钮时 图像会移回到以前的位置 不仅是当我第一次用鼠标缩放并使用按钮再次开
  • 如何从计算函数内部更新其他字段或其他模型?

    有3个班级 sync test subject a与有很多关系sync test subject b继承自sync test subject c sync test subject b s separated chars字段通过称为的计算函
  • 使用 NumPy loadtxt/savetxt 指定编码

    使用 NumPyloadtxt and savetxt只要涉及非 ASCII 字符 函数就会失败 这些函数主要用于数字数据 但也支持字母数字页眉 页脚 Both loadtxt and savetxt似乎正在应用 latin 1 编码 我发
  • 将文件编码为 Base 64 Nodejs

    我使用下面的代码将文件编码为 Base64 var bitmap fs readFileSync file return new Buffer bitmap toString base64 我认为在文件中我们有问题 and 字符 但它很好
  • EntityFramework 6 中的 IDbCommandInterceptor 线程安全吗

    使用 DbInterception add 方法注册时 IDbCommandInterceptor 实例是否被视为线程安全 我已经实现了一个符合 IDbCommandInterceptor 接口的类 并且正在跟踪调用其中一个执行方法时命令的
  • Firemonkey - 更新视觉组件

    我们从版本 1 开始就使用 Firemonkey 但仍然发现更新当前在屏幕上可见的组件很困难 在 Firemonkey 中请求重画的 方式 有很多 也许太多了 应用样式 ApplyStyle 事件 主要是当它在屏幕上可见时 请求 repai
  • 这是一个有效的浮点数比较,它占了一定的小数位数吗?

    我正在编写一个扩展方法来使用一组小数点 有效数字 来比较两个浮点数 以确定它们是否相等而不是容差或百分比差异 浏览有关浮动比较的其他问题 我看到了复杂的实现 我是否过于简单化了或者这是否有效
  • CA1704 - 微软似乎屏蔽了“Multi”这个词?

    public class MultiSomething CA1704 IdentifiersShouldBeSpelledCorrectly 当我运行代码分析时 我收到错误 因为 Microsoft 无法识别 Multi 一词 想想他们在I
  • Emacs:结合 isearch-forward 和 center-top-bottom

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