このCtrl+R方法はrootでは機能しますが(また機能します)、ユーザーには機能しない理由が見つかりません。
ユーザー.zshrc
:
setopt AUTO_CD
setopt CORRECT_ALL
setopt EXTENDED_GLOB
# History
SAVEHIST=10000
HISTSIZE=10000
HISTFILE=~/.zsh/history
setopt APPEND_HISTORY
setopt EXTENDED_HISTORY
setopt INC_APPEND_HISTORY
setopt HIST_FIND_NO_DUPS
setopt HIST_IGNORE_ALL_DUPS
setopt HIST_IGNORE_SPACE
setopt NO_HIST_BEEP
setopt SHARE_HISTORY
# Keys
autoload zkbd
[[ ! -d ~/.zkbd ]] && mkdir ~/.zkbd
[[ ! -f ~/.zkbd/$TERM-${DISPLAY:-$VENDOR-$OSTYPE} ]] && zkbd
source ~/.zkbd/$TERM-${DISPLAY:-$VENDOR-$OSTYPE}
[[ -n ${key[Home]} ]] && bindkey "${key[Home]}" beginning-of-line
[[ -n ${key[End]} ]] && bindkey "${key[End]}" end-of-line
[[ -n ${key[Insert]} ]] && bindkey "${key[Insert]}" overwrite-mode
[[ -n ${key[Delete]} ]] && bindkey "${key[Delete]}" delete-char
[[ -n ${key[Up]} ]] && bindkey "${key[Up]}" up-line-or-history
[[ -n ${key[Down]} ]] && bindkey "${key[Down]}" down-line-or-history
[[ -n ${key[Left]} ]] && bindkey "${key[Left]}" backward-char
[[ -n ${key[Right]} ]] && bindkey "${key[Right]}" forward-char
# Auto completion
autoload -U compinit promptinit
compinit
promptinit
prompt clint
zstyle ':completion::complete:*' use-cache 1
setopt HASH_LIST_ALL
# MIME
autoload -U zsh-mime-setup
zsh-mime-setup
# Calc
autoload -U zcalc
# Login
alias su="su - toor"
root .zshrcとの違い:
--- - 2011-01-06 23:53:54.772440701 +0100
+++ .zshrc 2011-01-06 23:50:00.000000000 +0100
@@ -38,9 +38,5 @@
zsh-mime-setup
# Calc
autoload -U zcalc
-# Editor
-export EDITOR=vim
-# Paludis
-alias background="schedtool -B -e"
-alias lowprio="nice -n 20 ionice -c 3"
-alias blowprio="ionice -c 3 schedtool -B -e nice -n 20"
+# Login
+alias su="su - toor"
どんなアイデアがありますか?
zsh バージョン 2.3.11.
答え1
zshが開始または開始される$EDITOR = vi*
と、VISUAL = vi*
zshはvi挿入モードを主キーマップとして使用します。それ以外の場合、zsh は emacs モードを使用します。初期化ファイルにEDITOR
(またはVISUAL
)設定があるかもしれませんが、vim
rootとして実行するとそのような設定がないため、履歴検索が有効になっているviモードマップとを^X r
見ることができます^X s
。
あなたの(またはviマップを学ぶ)bindkey -e
に追加してください。.zshrc
通常どおり、これはドキュメント(zshzle
マンページ)にありますが、探しているものが何であるかを知る必要があります。