Linux终端使用制表符补全时如何忽略大小写

Linux中的命令行区分大小写。在命令行上使用制表符完成来快速更改或列出目录时,必须匹配目录名的大小写。但是,有一种方法可以使制表符完成不区分大小写。

相关:在任何操作系统上使用Tab键完成都可以更快地键入命令

制表符补全使在命令行中输入目录名变得更快、更容易。您只需在提示符处开始键入目录名的开头,然后按Tab键自动输入其余的目录名。例如,要切换到Documents目录,只需开始键入cd docu,然后按Tab键即可。它将自动完成到CD Documents/。

您可以通过在Linux的.inputrc文件中添加设置来使此功能不区分大小写。该文件在命令行(或bash shell)上处理特定情况下的键盘映射,并允许您自定义命令行的行为。添加此设置非常简单,我们将向您演示如何添加。

有两个.inputrc文件:全局文件适用于系统上的所有用户(/etc/.inputrc),而当前用户主目录中的本地文件仅适用于该用户(~/.inputrc)。字符~表示主目录,如/home/loi/。本地.inputrc文件覆盖全局文件,这意味着无论全局文件中有什么内容,都将使用您添加到本地文件中的任何设置。在我们的示例中,我们将把不区分大小写的设置添加到我们的本地帐户,但是您可以选择任何一种方式。

我们将使用一个名为Gedit的文本编辑器将设置添加到.inputrc文件中。按Ctrl+Alt+T打开端子。然后,要更改本地.inputrc文件,请在提示符下键入以下命令并按Enter键。

gksu gedit ~/.inputrc

如果要更改全局.inputrc文件,请键入以下命令。

gksu gedit /etc/.inputrc

如果您没有.inputrc文件,此命令将在您的主目录或/etc目录中自动创建一个。

此时将显示一个对话框,询问您的密码,因此请输入您用来登录帐户的密码,然后单击“确定”。

inputrc文件可能是空的,这没问题。要使制表符完成忽略大小写,请将以下行添加到文件中:

set completion-ignore-case on

单击“保存”。

要关闭Gedit,请单击左上角的“X”按钮。

您刚才添加到.inputrc文件的设置不会影响当前的终端窗口会话。您必须关闭终端窗口,然后重新打开它,更改才能生效。因此,在提示符下键入exit,然后按Enter或单击窗口左上角的“X”按钮。

注意:您可能会看到一些警告显示,如下所示,但它们不会影响我们正在对文件执行的操作。

现在,例如,当您键入cd docu…并按Tab键时

…。即使大小写与目录名不匹配,制表符完成也会起作用。

如果要返回到默认的区分大小写的制表符完成设置,只需打开添加该设置的同一.inputrc文件,删除添加的行,然后保存并关闭该文件。切记在更改.inputrc文件后关闭终端窗口并重新打开它。

相关文章