zsh で、<SPACE> <SPACE> とスペースを2つ連続で入れた時に何かしたくなった。例えばスペース2つ入れたら git
に置き換わる、とか。
bindkey ' ' XXX
とかしたくなるけど、それではうまくいかない。
一応動くことは動くんだけど、普通にスペースを1つだけ入れたい時でも、一回スペースを押してからちょっと待ち時間が発生してしまう。うれしくない。
そういうときはこれを .zshrc
に書いておけばOK。
double_space_keybind.zsh
function _double_space_to_git() {
if [[ "${BUFFER}" == " " ]]; then
LBUFFER="git "
else
zle self-insert
fi
}
zle -N _double_space_to_git
bindkey ' ' _double_space_to_git
これで、スペースを2つ連続で入れると git
に置き換わる。
git
のところは好きなように変えて使ってください。