Macos 碳Emacs:无“焦点”';增量搜索时在minibuffer中

Macos 碳Emacs:无“焦点”';增量搜索时在minibuffer中,macos,ubuntu,emacs,carbon-emacs,Macos,Ubuntu,Emacs,Carbon Emacs,大家好 我信任的旧Carbon Emacs养成了一个令人沮丧的习惯:当我使用C-s时,minibuffer会提示输入搜索字符串,但它没有聚焦。显然,键入字符串没有任何作用。我当时不知道哪个缓冲区有焦点 当我按C-g键时,搜索像往常一样被取消。当我按Return键时,I-search提示符将变为搜索提示符,minibuffer将重新获得焦点。更新---当我键入C-w时,当前单词像往常一样被设置为搜索字符串,随后的C-s按预期推进搜索 抱歉,我没有更改.emacs文件中的任何内容,也没有自定义任何内

大家好

我信任的旧Carbon Emacs养成了一个令人沮丧的习惯:当我使用C-s时,minibuffer会提示输入搜索字符串,但它没有聚焦。显然,键入字符串没有任何作用。我当时不知道哪个缓冲区有焦点

当我按C-g键时,搜索像往常一样被取消。当我按Return键时,I-search提示符将变为搜索提示符,minibuffer将重新获得焦点。更新---当我键入C-w时,当前单词像往常一样被设置为搜索字符串,随后的C-s按预期推进搜索

抱歉,我没有更改.emacs文件中的任何内容,也没有自定义任何内容。emacs的版本是相同的,操作系统也是一样。此行为在重新启动emacs后仍然有效。即使emacs-q也不能解决这个问题

更新——结果证明“焦点”不是正确的词;使用i-search时,焦点会停留在正在搜索的缓冲区上,但迷你缓冲区会回显搜索词。嗯,应该是这样,但事实并非如此。因此,下面的代码片段看起来方向不对

我尝试了以下片段以重新关注minibuffer:

(defun minibuffer-refocus ()
 "Refocus the minibuffer if it is waiting for input."
 (interactive)
 (when (active-minibuffer-window)
   (message "")
   (select-window (minibuffer-window))))

(global-set-key (kbd "C-M-g") 'minibuffer-refocus)
但是没有用。在其他情况下,它就像一个符咒,但不适用于增量搜索。。。更新——这是意料之中的

有没有人知道发生了什么事,或者有找到线索的方法?这真的很烦人

详细信息

  • leopard.local上2008-11-01的GNU Emacs 22.3.1(i386-apple-darwin9.5.0,碳版本1.6.0)
  • OSX 10.6.7
  • C-s运行命令isearch forward
更新 好消息是这个问题已经解决了。坏消息是我不知道怎么做:-(

更新
坏消息是它又回来了。我也意识到上面的代码片段确实很有帮助,因为迷你缓冲区没有真正获得焦点。

好消息是它又像预期的那样工作了。坏消息是我不知道是什么修复了它

我确实认为@vpit3833的递归编辑建议指向了正确的方向;我回答了另一个关于Alt和Esc键的问题,在尝试了一些事情之后,比如做
Esc-x
和类似的组合,增量搜索再次开始工作


很抱歉,我没有真正的答案,但至少我可以结束这个话题。

好消息是它又像预期的那样工作了。坏消息是我不知道是什么解决了它

我确实认为@vpit3833的递归编辑建议指向了正确的方向;我回答了另一个关于Alt和Esc键的问题,在尝试了一些事情之后,比如做
Esc-x
和类似的组合,增量搜索再次开始工作


对不起,我没有真正的答案,但至少我可以结束这个主题。

这是适合我的解决方案。我发布它是因为我搜索解决方案,但找不到它

(defun isearch (arg)
  (interactive "MI-search: ")
  (select-window (minibuffer-window))
  (isearch-forward))

(global-set-key "\C-s" 'isearch)
我在Ubuntu上使用GNU Emacs


编辑:但如果您使用它,您将无法搜索minibufer。由于此功能,您在搜索时在minibufer中没有焦点。例如,您可以执行类似于M-x C-s的操作来搜索函数名称。如果您在minibufer中有焦点,则无法执行此操作。

这是一个适合我的解决方案。我之所以发布它,是因为我搜索解决方案,但找不到它

(defun isearch (arg)
  (interactive "MI-search: ")
  (select-window (minibuffer-window))
  (isearch-forward))

(global-set-key "\C-s" 'isearch)
我在Ubuntu上使用GNU Emacs


编辑:但如果您使用它,您将无法搜索minibufer。由于此功能,您在搜索时在minibufer中没有焦点。例如,您可以执行类似于M-x C-s的操作来搜索函数名称。如果您在minibufer中有焦点,则无法执行此操作。

请注意,当您运行C-s时,M-e提供了一种搜索方法虽然搜索的模式很简单,但它的效率远远低于C-s工作的预期

我面临着完全相同的问题(在两台不同的狮子机器上),我不明白出了什么问题,但我可以告诉你:

  • 我使用了几种“输入法”,即几种键盘映射:法语和美式扩展。我选择了OS X选项,该选项允许根据当前应用程序进行键盘映射(例如,我通常将美式用于Emacs,法语用于邮件)

  • 法国地图工作正常

  • 正如您所描述的,美国扩展映射失败

  • 在同一个Emacs会议中,从上到下,继续保持不变:法语作品,美国扩展版被打破


好消息是:我们没有扩展似乎工作正常!也许(也许)在美国的扩展映射中,C-s是OSX上某些多键字符的前缀,在OSX和Emacs之间开始了一些非常糟糕的交互,可能期望多键序列的下一个字符部分,Emacs从中窃取它们。胡乱猜测。

请注意,当运行C-s时,M-e提供了一种编辑搜索模式的方法,但是它的效率远远低于C-s预期的工作效率

我面临着完全相同的问题(在两台不同的狮子机器上),我不明白出了什么问题,但我可以告诉你:

  • 我使用了几种“输入法”,即几种键盘映射:法语和美式扩展。我选择了OS X选项,该选项允许根据当前应用程序进行键盘映射(例如,我通常将美式用于Emacs,法语用于邮件)

  • 法国地图工作正常

  • 正如您所描述的,美国扩展映射失败

  • 在同一个Emacs会议中,从上到下,继续保持不变:法语作品,美国扩展版被打破

好消息是:US not extended似乎工作正常!在US extended映射中,C-s可能是某些多键字符在OS X上的前缀,并且OS X之间开始了一些非常糟糕的交互,可能期待下一个字符pa