~/.zshrc
に記述すれば良いことが分かった.
function up-history-first { zle up-history ; zle vi-first-non-blank } zle -N up-history-first bindkey -a 'k' up-history-first1行目で「一つ前の履歴に戻り, カーソルを行頭に移動する」関数を定義する. 2行目で, その関数をZLE (Zsh Line Editor) のウィジットとして登録する. 3行目で, Viコマンドモードでのキー「k」を先ほど登録したウィジットに割り当てる.
.zshrc
はzshが対話モードで起動した場合に読み込まれる.
対話モードでないときには読み込まれないのでちょうど良い.