なっていなければ ~/.bashrc に、
if [ -f /etc/bash_completion ]; thenと追記しておこう。
. /etc/bash_completion
fi
この便利な補完機能だけど、自分で設定できる。が、ものすごく賢く設定できるだけに /etc/bash_completion 見てもよく分からないw
ちょうどnkfのロングオプションをよく使うんだけど、よく忘れるw のでいい機会だったので試しに作ってみた。
のような感じで、~/.bashrc に追記。
# nkf completion
_nkf()
{
local cur
COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
# options completion
if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -o default -W '-j -s -e -w -J -S -E -W \
--help --version --overwrite --jis --euc --sjis \
--utf8 --utf16 --mime --base64 --guess \
--hiragana --katakana --katakana-hiragana' -- $cur ) )
else
COMPREPLY=( $( compgen -o default $cur ) )
fi
}
complete -F _nkf nkf
source ~/.bashrcで即反映させて、試しに、
nkf --と打ってTABキーを押すと、
とロングオプションが補完候補として表示される。便利だね♪~$ nkf --
--base64 --jis --sjis
--euc --katakana --utf16
--guess --katakana-hiragana --utf8
--help --mime --version
--hiragana --overwrite
上のは適当に書いただけなので誰かリファインして本家にマージしてください><
しかしあれだね、bashの補完機能を自分で作ることに関しての情報がほとんど無いね。あっても bash_completion に関する情報ばかり。bashの補完定義を自分でどんどん簡単に作れればどんどん便利になっていくね。
0 件のコメント:
コメントを投稿