java linux 终端-cp 自动完成

java linux 终端-cp 自动完成

我正在使用一个 Java 库,它需要两个文件“library.jar”和“library-extensions.jar”。每当我尝试包含用冒号分隔的两个文件(例如 -cp“library.jar:library-extensions.jar”)并尝试对第二个 jar 文件使用自动完成功能时,它都会用第一个参数替换第二个参数。

IE

我有类似的东西:

java -cp "library.jar:l

我按下“Tab”键自动完成第二个参数,它变为:

java -cp "l

我可以做些什么来启用附加参数的正确自动完成功能?

我在 Ubuntu 14.04 上使用终端。

答案1

我认为 Bash 通常不会在引号内自动完成。如果您省略引号,它将自动完成当前目录中的文件名:

$ java -cp l<TAB>
library.jar  library-extensions.jar
$ java -cp library.jar:l<TAB>
library.jar  library-extensions.jar

答案2

要使用此功能,您需要另一个 shell。它适用于

sudo apt-get install zsh
sudo chsh "$USER" -s $(which zsh)

一旦您打开一个新的终端窗口,它就会加载zsh


例子

zsh抗原v1

在此处输入图片描述

类型a

在此处输入图片描述

类型Tab

在此处输入图片描述

Tab再次输入

在此处输入图片描述

然后再次

在此处输入图片描述

相关内容