gpt4 book ai didi

libreadline - 自动关闭 GNU Readline

转载 作者:行者123 更新时间:2023-12-02 00:19:39 33 4
gpt4 key购买 nike

在各种基于 GNU Readline 的 CLI 上工作,它会显着如果有办法有括号和引号,请加快我的速度键入时自动关闭。

因此在 Bash(或其他 CLI)上键入 '( 实际上会附加结束引号或括号 ''() 并将光标放在中间用于写作。

我环顾四周想找出任何相关的东西(例如 ~/.inputrc 设置),但没有找到任何东西,我想知道那是不是完全可以实现。如有任何意见,我们将不胜感激。

最佳答案

这有点棘手,但可行。作为 bash 命令:

bind '"(" "\C-v()\e[D"'
bind '"\"" "\C-v\"\C-v\"\e[D"'

作为 .inputrc 中的设置(因此任何使用 readline 的程序都会获得该行为):

"(": "\C-v()\e[D"
"\"": "\C-v\"\C-v\"\e[D"

您可以在每个键前加上 Control-v 以键入“普通”引号和左括号,而不会触发自动关闭行为。

以上假定 Emacs 键绑定(bind)。对于 vi 绑定(bind),使用

bind '"(": "\C-v()\ei"'
bind '"\"" "\C-v\"\C-v\"\ei"'

"(": "\C-v()\ei"
"\"": "\C-v\"\C-v\"\ei"

本质上,只需将[D替换为i即可;不是发送转义序列将光标向左移动,而是发送 \e 在插入括号/引号后回到命令模式,然后重新进入插入模式,这应该将光标定位在刚刚输入的字符。

关于libreadline - 自动关闭 GNU Readline,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11486757/

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