Zsh の bindkey に嵌まる

新しい kernel が降りてきたので再起動したのですが，Ctrl + a の行頭移動や，Ctrl + e の行末移動が使えず ^A^E と表示されるようになってしまいました．Ctrl + U など利用できるものもある．環境は以下のような感じです．

OS: Debian testing stretch amd64

Shell: zsh 5.0.8

byobu backend: screen

GNU Screen 4.03.01

GNU Screen を抜けると問題はありません．
最近 GNU Screen のアップデートがあった気がしたので，GNU Screen のせいかな?と思い以前野良ビルドした GNU Screen や Tmux で起動してみましたがこちらでも同じ現象が置きました．
% screen bash の様にして bash を起動すると問題ありません．
GNU Screen 起動後でも bindkey で以下のように設定すると動作します．

% bindkey "^A" beginning-of-line

% bindkey "^E" end-of-line

bindkey のリストを確認すると GNU Screen 起動前 120行，GNU Screen 起動後では 34行と大分少なくなってしまっています．

% echo $TERM

xterm

% bindkey -L | wc -l

120

% echo $TERM

screen-bce

% bindkey -L | wc -l

34

とりあえず GNU Screen 起動前に ~/.zshrc の precmd() の中に bindkey -L の結果を vim で :r!bindkey -L | sed -e 's/^/ /' な感じで貼ってひとまず反映させました．

case "${TERM}" in

screen*|ansi*)

preexec()

{

echo -ne "\ek${1%% 2%% *}\e\\"

}

precmd()

{

echo -ne "\ek$(basename $SHELL) :::: waiting your command ... > (:3[___]\e\\"

bindkey -R "^A"-"^C" self-insert

bindkey "^D" list-choices

:

:

:

:

bindkey -R "\M-^@"-"\M-^?" self-insert

}

;;

esac

切り分けのために新しくユーザを作って chsh -s /bin/zsh してまっさらな状態から試すと ~/.zshrc を cp すると現象が起こりました．更に切り分けていくと .zshrc の中の export EDITOR=vim でした．
% EDITOR=vim screen で発症する．% EDITOR=emacs screen はok……﻿．その他 vi NG / jed, nano は ok と vi/vim を指定すると起きるよう．

検索するとこんなページが見つかりました．

Zsh – 環境変数EDITOR設定時のbindkeyに注意 – Qiita

環境変数 EDITOR が vi/vim だと Zsh のキーバインドが vim モードになるということのようです．Esc -> 0 で行頭移動，Esc -> Shift+a で行末に．確かに vim モードのようです．ということで ~/.zshrc で emacs モードに設定することで解決しました．(上の方で設定した bindkey の設定は消しました)

export EDITOR=vim

bindkey -e

腑に落ちないのは GNU Screen / Tmux 起動時には起こるけど普通の Zsh 起動時は起きないところ……．