【发布时间】:2014-11-29 13:16:31
【问题描述】:
我将 oh-my-zsh 与 Zsh 一起使用,我希望在命令行上绑定 Vim。在我的 .zshrc 中,我有以下几行(完整的 .zshrc here):
# terminal vim
bindkey -v
export KEYTIMEOUT=1
bindkey -M viins 'jk' vi-cmd-mode # @todo - THIS DOES NOT WORK?
bindkey -M viins '^k' kill-line
bindkey '^?' backward-delete-char
bindkey '^h' backward-delete-char
bindkey '^w' backward-kill-word
bindkey '^r' history-incremental-search-backward
# show which vim mode we are in
precmd() {
RPROMPT=""
}
zle-keymap-select() {
RPROMPT=""
[[ $KEYMAP = vicmd ]] && RPROMPT="(COMMAND MODE)"
() { return $__prompt_status }
zle reset-prompt
}
zle-line-init() {
typeset -g __prompt_status="$?"
}
zle -N zle-keymap-select
zle -N zle-line-init
现在,我只是能够通过在命令行上按“jk”切换回命令模式,但它不起作用。不过逃生确实有效。
我哪里出错了?
【问题讨论】:
标签: vim command-line zsh command-line-interface oh-my-zsh