✖
土曜日は植物園に。日曜日、橿原神宮に行こうと思っていたのに、起きたのが14:30ぐらいで遅すぎたのでやめた。変わりに、平安神宮、京都市立美術館、京都市立美術館別館にいった。毛筆で記名を求められて、普段鉛筆やペンさえ持たないのでかなりあせりつつ書いたら「筆遣いが~」と言われて嬉しい半分死にたくなった。別館のほうでは写真展を見た。一通りいくつか見たうえで、やっぱまともな組写真をやりたいなあと強く思った。
関連エントリー
✖
zsh で C-r したときスペースを補完語として入力できないという状況を回避するバッドノウハウ
zsh で C-r しているとき、スペースを補完語に使いたくても、スペースを入力した瞬間に bck-i-search: を抜けて、コマンド先頭にスペースが挿入されてしまうという状態になっていた。望む希望としては、スペースを入力したら、スペースも補完語として挿入されてほしい。
これはどうやら、自分で bindkey " " magic-abbrev-expand-and-insert というように、スペースキーに対して独自定義の関数を定義しているとそうなってしまうらしい。
zle_hist.c によると、bck-i-search の間のキー入力はハードコードで分岐していて、既に決まっているものについて書きかえるしかない。
なんとなく magic-space を上書きしてやったら、望む挙動になった。
# abbr
typeset -A abbreviations
abbreviations=(
"L" "| \$PAGER"
"G" "| grep"
"H" "$HOME/project/Hatena-"
"HE" "lib/**/Engine/"
"HM" "lib/**/MoCo/"
"HA" "lib/**/App/"
"HC" "lib/**/Config.pm"
"HEAD^" "HEAD\\^"
"HEAD^^" "HEAD\\^\\^"
"HEAD^^^" "HEAD\\^\\^\\^"
"HEAD^^^^" "HEAD\\^\\^\\^\\^\\^"
"HEAD^^^^^" "HEAD\\^\\^\\^\\^\\^"
# typo
"lkm" "lm"
"it" "git"
"gitp" "git"
"mysql" "mysql -unobody -pnobody -h"
)
magic-abbrev-expand () {
local MATCH
LBUFFER=${LBUFFER%%(#m)[-_a-zA-Z0-9^]#}
LBUFFER+=${abbreviations[$MATCH]:-$MATCH}
}
# BK
magic-space () {
magic-abbrev-expand
zle self-insert
}
magic-abbrev-expand-and-insert () {
magic-abbrev-expand
zle self-insert
}
magic-abbrev-expand-and-insert-complete () {
magic-abbrev-expand
zle self-insert
zle expand-or-complete
}
magic-abbrev-expand-and-accept () {
magic-abbrev-expand
zle accept-line
}
magic-abbrev-expand-and-normal-complete () {
magic-abbrev-expand
zle expand-or-complete
}
no-magic-abbrev-expand () {
LBUFFER+=' '
}
zle -N magic-abbrev-expand
zle -N magic-abbrev-expand-and-magic-space
zle -N magic-abbrev-expand-and-insert
zle -N magic-abbrev-expand-and-insert-complete
zle -N magic-abbrev-expand-and-normal-complete
zle -N magic-abbrev-expand-and-accept
zle -N no-magic-abbrev-expand
zle -N magic-space # BK
bindkey "\r" magic-abbrev-expand-and-accept # M-x RET できなくなる
bindkey "^J" accept-line # no magic
bindkey " " magic-space # BK
bindkey "." magic-abbrev-expand-and-insert
bindkey "^I" magic-abbrev-expand-and-normal-complete
✖
✖
環境光が明るいと日記書けないので、会社で日記書くのはむり。と会社でかく








