ZSH-LOVERSメモ(1) : 便利なグローバルエイリアス、サフィックスエイリアス
ZSH-LOVERS(1)というZshのTipsを紹介しているページがあるので見てみる。
紹介しているTipsの種類としては、
- Aliases
- Completion
- Unsorted/Misc examples
- (Recursive) Globbing - Examples
- Modifiers usage
- Redirection-Examples
- ZMV-Examples
- Module-Examples
がある。
Aliases
最初に紹介されているのは-s
で指定するサフィックスエイリアスというものでバージョン4.2.0からサポートされている。
alias -s tex=vim alias -s html=w3m alias -s org=w3m
上記の例だと、foobar.tex
のような拡張子が.tex
のファイル名だけを入力してリターンを押すと、vim foobar.tex
を実行したことになる。
alias -s rb=ruby alias -s py=python
のように設定すれば、foobar.rb
、foobar.py
のように入力するだけでスクリプトを実行できるようになる。
次に紹介されているのは-g
で指定するグローバルエイリアスというもので先頭以外の任意の位置でも展開される。
$ alias -g C='| wc -l' $ grep alias ~/.zsh/* C 443
上記の例だと、グローバルエイリアスとしてC='| wc -l'
を設定しているのでgrep
コマンドの後にC
を追加するだけで行数をカウントできるようになる。
他にも以下のようなサンプルが挙げられているが便利かどうかは人による。L="| less"
やG='| egrep'
などは覚えやすいし、よく使うので便利そう。
alias -g ...='../..' alias -g ....='../../..' alias -g .....='../../../..' alias -g CA="2>&1 | cat -A" alias -g C='| wc -l' alias -g D="DISPLAY=:0.0" alias -g DN=/dev/null alias -g ED="export DISPLAY=:0.0" alias -g EG='|& egrep' alias -g EH='|& head' alias -g EL='|& less' alias -g ELS='|& less -S' alias -g ETL='|& tail -20' alias -g ET='|& tail' alias -g F=' | fmt -' alias -g G='| egrep' alias -g H='| head' alias -g HL='|& head -20' alias -g Sk="*~(*.bz2|*.gz|*.tgz|*.zip|*.z)" alias -g LL="2>&1 | less" alias -g L="| less" alias -g LS='| less -S' alias -g MM='| most' alias -g M='| more' alias -g NE="2> /dev/null" alias -g NS='| sort -n' alias -g NUL="> /dev/null 2>&1" alias -g PIPE='|' alias -g R=' > /c/aaa/tee.txt ' alias -g RNS='| sort -nr' alias -g S='| sort' alias -g TL='| tail -20' alias -g T='| tail' alias -g US='| sort -u' alias -g VM=/var/log/messages alias -g X0G='| xargs -0 egrep' alias -g X0='| xargs -0' alias -g XG='| xargs egrep' alias -g X='| xargs'