在 Bash 中选择 unicode 文件名

Erh*_*nis 9 bash autocomplete filenames

好的; 假设我在 Bash 中,一个文件夹中有几个文件。其中一些被命名为file????.txt????以疯狂的无法打字的 unicode 字符开头。我将如何提及其中之一?按下选项卡只会自动完成file,然后它希望您输入一个疯狂的字符。有什么方法可以告诉 bash“在你刚刚给我的列表中选择第三个”?

Dra*_*oan 9

我建议您解决它并使用另一种类型的键绑定与 readline,例如Shift+ TAB。将以下内容添加到您的~/.inputrc:

"\e[Z": menu-complete
Run Code Online (Sandbox Code Playgroud)

然后发出一个exec bash(然后应该读取您的 中的设置~/.inputrc)。作为一次性,您可以通过运行bind '"\e[Z": menu-complete'.

您现在应该能够使用重复ShiftTAB序列来循环匹配匹配的文件名(而不必输入下一个匹配字符)。这将适用于发出的任何命令(因为它是绑定到ShiftTAB序列的标准读取行命令)。正如 OP 所指出的,这不会影响TAB密钥的标准行为,它只是增加了ShiftTAB组合的功能 。