gpt4 book ai didi

emacs - 在 Emacs Lisp 中屏蔽完成读取的输出

转载 作者:行者123 更新时间:2023-12-01 16:29:50 25 4
gpt4 key购买 nike

我正在使用文件系统路径列表进行完成读取,例如。 ("~/parent/child""/parent/child").

我想屏蔽completing-read/ido-completing-read的输出,以便它只显示child,但仍会返回完整路径。

这可能吗?

最诚挚的问候,老鼠

最佳答案

答案:不,这是不可能的,因为完成读取不会考虑字符串的任何语义。

这是可能的,但需要多次调用完成列表。

这个函数的想法是传递一个字符串列表,它可以帮助您从该列表中选择一个字符串。

Completing-list 无法控制字符串包含的内容。它不关心字符串的语义,就像路径一样。它只能看到字符串列表。

因此,为了达到您想要的效果,您可以使用当前目录中的文件列表调用它一次,如果您选择一个目录,首先将其更改为该目录,然后使用该目录中的文件列表等。

如果您想让 pwd 与初始值相同,那么当它返回时,您将再次更改为原始目录。

(cd (concat default-directory
(completing-read "> " (directory-files default-directory ))))

关于emacs - 在 Emacs Lisp 中屏蔽完成读取的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11698924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com