通过vim
从zsh调用Vim时,<C-j>
效果很好,我可以使用它以与<C-n>
相同的方式选择完成。
当通过v
键从zsh的vi模式启动Vim时,无论是手动输入密钥绑定还是将其放入,我都无法使<C-j>
的行为与<C-n>
相同配置。
此外,当我手动调用edit-command-line
时,<C-j>
可以正常工作。
注意:在Bash的vi模式下以类似方式调用Vim时不会出现此问题。
.vimrc与Vim 8.0
inoremap <expr> <C-j> "\<C-N>"
inoremap <expr> <C-k> "\<C-P>"
带有zsh 5.3.1 (x86_64-apple-darwin14.5.0)
的.zshrc
EDITOR="vim"
set -o vi
autoload -Uz edit-command-line
zle -N edit-command-line
bind key -M vicmd 'v' edit-command-line
编辑:一些进一步的调查显示,当我通过zsh的vi模式启动Vim时,<C-v><C-j>
会产生^M
;但是,当我正常启动Vim时,<C-v><C-j>
会生成^@
。