シェルのコマンドを展開したい。
composite 使おうとしたら、候補多すぎて面倒くさい。補完が補完にならないよね
takuya@~$ com<tab> comm command compare compgen complete compopt composer composite compress comsat
最初の3文字くらいで、展開されてほしい。 bashの補完で completion を書いても現在位置は置換できないし、alias で短縮しても履歴に元のコマンドを残したい。
alias してみてもうまくいかない。
alias すると、たしかに短くなるのだけど、履歴が汚れる。すげぇ面倒くさいわ。
alias comp=composite history 997: comp 998: comp 999: comp
sysout<tab>
が System.out.println()
になるような短縮(abbreviation)と補完(completion)をやりたいと思ってました。
alias-expand-line で解決する
ショートカットキー<ctl-alt-e>
を押すと、展開される。これだ!
$ ll<ctl-alt-e>
こうなる
$ ls -lt
これだ。
参考資料
https://superuser.com/questions/247770/how-to-expand-aliases-inline-in-bash
https://unix.stackexchange.com/questions/158038/non-interactive-shell-expand-alias