在尝试调试 Fish shell 中的提示问题时,我读到 nextd-or-forward-word 函数使用“-f repaint”参数调用命令行内置函数。
我根本不明白它的作用。
“命令行-f”的文档说它“将readline函数注入阅读器”,这是什么意思?
我什至不确定这里的“readline”是什么。是 GNU C 库吗?假设是这样,我在 GNU readline 文档中找不到任何提及“重绘”的内容。
你能向我解释一下吗?
“commandline -f”的文档说它“将 readline 函数注入阅读器”
简单来说,它是 Fish 命令行阅读器模块的命令。(这里的文档有点行话重,是的)
所以commandline -f repaint告诉鱼“重新绘制”提示。这意味着它将再次执行fish_prompt、fish_mode_prompt和fish_right_prompt函数,并重新绘制它们的输出。
如果是nextd-or-forward-word,repaint则提示的 $PWD 显示会更新。如果它没有这样做,nextd会将您移动到不同的目录,但由于您没有execute在命令行中执行正常命令,因此提示符将保持不变。每次输入后重新绘制是不可行的,因为提示可能需要一段时间。
是 GNU C 库吗?
如果 Fish 使用 GNU“readline”库,这将是它会做的一件事。因此,fish 在内部也使用术语“readline”来表示与阅读行有关的内容,并且它正在泄漏到文档中。
| 归档时间: |
|
| 查看次数: |
708 次 |
| 最近记录: |