鱼壳中的“命令行-f重绘”是什么?

问题描述 投票:0回答:1

在尝试调试我的fish shell中的提示问题时,我读到nextd-forward-word函数使用“-f repaint”参数调用命令行内置函数。

我根本无法理解它的作用。

“commandline -f”的文档说“将readline函数注入读者”,这是什么意思?

我甚至不确定这里的“readline”是什么。它是GNU C库吗?假设它是,我在GNU readline文档中找不到任何提及“重绘”的内容。

你能解释一下吗?

fish
1个回答
1
投票

“commandline -f”的文档说“将readline函数注入读者”

简单来说,它是fish的命令行阅读器模块的命令。 (这里的文档有点行话,是的)

因此,commandline -f repaint告诉鱼“重新粉碎”提示。这意味着它将再次执行fish_prompt,fish_mode_prompt和fish_right_prompt函数,并重绘它们的输出。

nextd-or-forward-word的情况下,它会执行repaint,因此提示符的$ PWD显示会更新。如果它不这样做,nextd会将你移动到另一个目录,但由于你没有executed命令行中的正常命令,提示将保持不变。每次输入后重绘都不可行,因为提示可能需要一段时间。

它是GNU C库吗?

如果鱼使用GNU“readline”库,这将是一件事。因此,鱼内部使用术语“readline”以及与阅读线有关的事情,并且它正在泄漏到文档中。

© www.soinside.com 2019 - 2024. All rights reserved.