附加到现有的 tcsh cmd 自动完成指令

问题描述

我想在现有命令完成中附加更多部分(无权访问第一个创建。)

以下不起作用:

complete myscript.py `complete myscript.py` 'n,-t,(t1 t2),'

添加了额外的刻度线 (') 并且自动完成被破坏了。

希望看到一个有效的例子。 谢谢!

解决方法

我找不到附加到现有完整文件的方法,所以我决定在我的 cshrc 和源文件中即时创建一个新文件,覆盖 prev complete 指令:

set filename = `date '+%Y-%m-%d-%H-%M-%S'`
set cmd_arr  = ( scrpt1.py scrpt2.py scrpt3.py )

foreach c ($cmd_arr)
  complete | grep $c | sed  's;$; \'n,-r,`/home/\$USER/complete_rev.py`,\';' |  sed 's/^/complete /' >> $filename
end

source $filename
rm $filename -f

C'est 兜售!