Carbon Emacs:增量搜索中的迷你缓冲区中没有“焦点”

问题描述

|| 大家好 我可信赖的老牌Carbon Emacs养成了一个令人沮丧的习惯:当我使用C-s时,minibuffer会提示您输入搜索字符串,但它并不集中。显然,输入字符串不会执行任何操作。我不知道当时哪个缓冲区是重点。 当我按C-g时,搜索照常被取消。当我按Return键时,I-搜索提示将变成搜索提示,并且微型缓冲区重新获得焦点。更新---当我键入C-w时,照常将当前单词设置为搜索字符串,随后的C-s将按预期进行搜索。 AFAIK,我没有更改.emacs文件中的任何内容,也没有自定义任何内容。 emacs的版本相同,操作系统也相同。此行为也可以在emacs重新启动后幸存。甚至emacs -q也无法解决。 更新-原来'focus \'不是正确的词;使用i-search时,焦点将停留在您要搜索的缓冲区上,但是迷你缓冲区会回显搜索词。好吧,应该,但是没有。因此,以下代码段的方向错误。 我尝试了以下代码片段来重新将精力集中在微型缓冲区上:
(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月1日的GNU Emacs 22.3.1(i386-apple-darwin9.5.0,Carbon版本1.6.0) OSX 10.6.7 C-s运行命令isearch-forward 更新资料 好消息是解决了。坏消息是我不知道:-( 更新资料 坏消息是它又回来了。我还意识到上面的代码片段确实有帮助,因为迷你缓冲区并没有真正引起关注。     

解决方法

请注意,当您运行C-s时,M-e提供了一种编辑搜索模式的方法,但是它比使C-s正常工作效率低得多。 我遇到了完全相同的问题(在两台不同的Lion机器上),我不知道出了什么问题,但是我可以告诉你: 我使用了几种“输入法”,即几种键盘映射:法语和美国扩展。我选择了OS X选项,该选项允许具有依赖于当前应用程序的键盘映射(例如,我通常将US用作Emacs,将French用作邮件)。 法语映射工作正常, 您描述的美国扩展映射失败, 在同一个Emacs会话中,从头到尾都保持不变:法国作品,US Extended被打破, 好消息是:未扩展的美国似乎正常工作!也许(也许)Cs是OS X在美国扩展映射中某些多键字符的前缀,并且在OS X之间开始了一些非常糟糕的交互,也许期望多键序列的下一个字符部分与Emacs从那里偷走他们。胡乱猜测。     ,好消息是它再次按预期工作。坏消息是我不知道该怎么解决。 我确实认为@ 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。由于此功能,您在搜索时不会专注于小型缓冲器。例如,您可以执行M-x C-s之类的功能来搜索函数名称。而且,如果您专注于微型缓冲器,那么您将无法做到这一点。     ,我突然遇到了完全相同的问题,并且突然发现,这与OS X自己的键盘/输入方法有关(正如已经指出的那样)。我以前使用的是普通的美国键盘,但是后来出现了问题,因此改成了Unicode键盘。回到常规的美国键盘后,i-search即可正常工作。使用美国扩展键盘,我也有同样的异常行为。     

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...