如何在 Bash 中为 $ 字符创建映射?= 使用“bind”

如何在 Bash 中为 $ 字符创建映射?= 使用“bind”

好吧,听我说。我想在 Bash 中为美元符号 $ 创建某种映射。它是最常用的特殊字符对我来说,这并非最困难的地方。是的,我可以为 Capslock 创建一个 AutoHotKey 或 Linux 等效项。但在 Bash 中,使用 alais 不起作用,因为它们不会扩展超过第一个位置 $0,而且实际上并不是为此设计的。这很重要,因为我一直使用 $var_name 作为参数。只能使用“type”命令显示函数。

我会使用 xx 或 之类的键,然后扩展别名或其他类似操作,将其替换为 $。',' 键是算术字符并且是保留的,尽管我能够用它创建一个确实扩展的别名(仅在第一个位置)。

有什么解决方案或建议吗?谢谢。

有关别名扩展的相关主题:如何在 bash 中内联扩展别名?

下面是使用',,'导出到 bash 中的答案,加上最后一个参数和帮助标志:

bind '",,": "$"'
echo "bind '\",,\": \"\$\"'">>~/.bashrc
echo "bind '\",l\": \"\$_\"'">>~/.bashrc
echo "bind '\",h\": \"--help\"'">>~/.bashrc
echo "function helpany { \$1 --help || help \$1 || man \$1 || info \$1; }">>~/.bashrc

以下是我在公共 Gist 中的别名、函数和绑定列表:https://gist.github.com/auwsom/804b4470d22ae00d113cbf5b4eaba73c

答案1

在 bash 中有一种方法:绑定命令。

这将映射Ctrle到“$”

bind '"\C-e": "$"'

查看当前的 bash 键绑定bind -p并选择一个您容易输入且不用于其他任何用途(您想要保留)的键序列。

相关内容