Shell

tcsh 中 Makefile 規則的自動完成

  • August 7, 2015

tcsh在 SUSE 11 框中使用,並且在鍵入時意識到

make``Tab

它允許我自動完成 Makefile 中可用的規則,而不是目前目錄中的文件。

我已經在工作中使用 RedHat 和 Ubuntu 以及在家裡使用 Debian 進行了測試(全部使用tcsh),但它們都不支持這種(IMO)良好行為。

其他發行版也如何實現這一點?

這是我多年前就想擁有的東西。

您需要添加對completeshell 啟動文件 ( ~/.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"`@'

引用自:https://unix.stackexchange.com/questions/32017