Emacs-helm中的标签(任何东西)都不会自动完成当前的最佳匹配 [英] Tab in Emacs-helm (anything) does not autocomplete with current best match

查看:252
本文介绍了Emacs-helm中的标签(任何东西)都不会自动完成当前的最佳匹配的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尝试自动完成文件(例如,使用 Cx Cf 打开文件)E​​macs-helm显示可能的候选人列表。



如果我然后按 Tab (我希望它会帮助我选择第一个/最接近的比赛),我在minibuffer中得到以下内容:



   



它看起来像迷你缓冲区与转义字符混淆,它不会选择我实际想要打开的文件(最主要的选择)。

解决方案

Helm需要从默认Emacs完成的概念性跳转,这不是很明显:


不需要按键完成。完成缓冲区在每次输入后刷新
,并显示新结果。


这称为增量完成。

在增量
完成中不需要正常的选项卡功能。所以标签被反弹到 helm-select-action ,这允许你
选择一个替代动作的选择。但是在 read-file-name 中只有一个动作



但是,我已经在github上提交了问题



另外,注意Helm将每个空格分隔的术语视为过滤
正则表达式。因此,按空格 foo 会将当前列表中的
过滤到包含名称中的foo。


While trying to autocomplete a file (e.g. to open a file with C-x C-f) Emacs-helm shows a list of possible candidates.

If I then press Tab (which I would hope it would help me choose the first/closest match), I get the following in the minibuffer:

   

It looks like the minibuffer gets confused with escape characters, and it does not choose the file that I actually want to open (the top choice).

解决方案

Helm requires this conceptual jump from the default Emacs completion, which is not so obvious:

You don't need to press a key to complete. The completion buffer refreshes with new results after every input.

This is called "incremental" completion.

The normal tab functionality is not needed in "incremental" completion. So tab was rebound to helm-select-action, which allows you to choose an alternative action with the selection. But there is only one action in read-file-name.

The error you're seeing could be clearer though, I've filed this issue on github.

Additionally, note Helm treats each space separated term as a filtering regular expression. So, pressing space foo will filter the current list down to those that contain foo in the name.

这篇关于Emacs-helm中的标签(任何东西)都不会自动完成当前的最佳匹配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆