【问题标题】:How to bind 'search' and 'search-repeat' to C-f in Emacs?如何在 Emacs 中将“搜索”和“搜索重复”绑定到 C-f?
【发布时间】:2011-09-14 06:04:50
【问题描述】:

如何在 Emacs 中将增量搜索 (C-s) 重新映射到 C-f

我尝试做(global-set-key (kbd "C-f") 'isearch-forward),但第二个 C-f 没有重复搜索,我需要使用 C-s

然后我尝试了(global-set-key (kbd "C-f") 'isearch-repeat-forward),但第一个 C-f 没有开始搜索。

我什至尝试过(global-set-key (kbd "C-f C-f") 'isearch-repeat-forward),但这会导致错误。

我想使用 C-f 进行搜索和搜索重复命令,我该怎么做?

谢谢。

【问题讨论】:

    标签: emacs


    【解决方案1】:

    (define-key isearch-mode-map "\C-f" 'isearch-repeat-forward)

    【讨论】:

    • 成功了! (global-set-key (kbd "C-f") 'isearch-forward) (define-key isearch-mode-map "\C-f" 'isearch-repeat-forward)非常感谢。
    【解决方案2】:

    isearch-repeat-forwardisearch-mode-map 中定义

    要解决您的问题,请执行以下操作:

    (global-set-key (kbd "C-f") 'isearch-forward)
    
    (add-hook 'isearch-mode-hook
     (lambda ()
     (define-key isearch-mode-map (kbd "C-f") 'isearch-repeat-forward)
     )
    )
    

    编辑:实际上,您不需要添加钩子。 Ross Patterson 接受的答案是正确的。

    【讨论】:

    • 使用此解决方案。谢谢。
    • 为什么要在模式挂钩中这样做,而不是像@ross-patterson 在他的回答中那样只用一个define-key 更改模式映射一次?
    猜你喜欢
    • 1970-01-01
    • 2015-01-26
    • 2012-03-03
    • 1970-01-01
    • 1970-01-01
    • 2021-11-12
    • 1970-01-01
    • 2012-05-04
    • 2020-06-21
    相关资源
    最近更新 更多