Shell
tcsh 中 Makefile 規則的自動完成
我
tcsh
在 SUSE 11 框中使用,並且在鍵入時意識到
make``Tab
它允許我自動完成 Makefile 中可用的規則,而不是目前目錄中的文件。
我已經在工作中使用 RedHat 和 Ubuntu 以及在家裡使用 Debian 進行了測試(全部使用
tcsh
),但它們都不支持這種(IMO)良好行為。其他發行版也如何實現這一點?
這是我多年前就想擁有的東西。
您需要添加對
complete
shell 啟動文件 (~/.tcshrc
) 的呼叫。顯然你的 SuSE 盒子有預定義的規則make
;在 tcsh ( )/etc/csh.cshrc
旁邊提供的文件或其他文件中查找它們。rpm -ql tcsh
tcsh 發行版附帶了一些範例補全(Debian 將它們放入
/usr/share/doc/tcsh/examples/complete.tcsh.gz
);這是一個make
:complete make \ 'n/-f/f/' \ 'c/*=/f/' \ 'n@*@`cat -s GNUmakefile Makefile makefile |& sed -n -e "/No such file/d" -e "/^[^ #].*:/s/:.*//p"`@'