高速の位置決めコマンドのオートコンプリートディレクトリMac用端子

ベースのMacOS
OH-マイ-zshのは、端末テーマを切り替え
incr.zsh、高速位置決めコマンドのオートコンプリートのディレクトリを達成します

結果のプレビュー

ステップ

1、取り付けられたOH-MY-zshの

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

2、ダウンロードincr.zsh

OH-MY-zshのプラグインディレクトリに

cd ~/.oh-my-zsh/plugins/

新INCRフォルダとダウンロードincr.zshファイルがディレクトリにコピーされます

その後、端末パスに命令を実行/.oh-my-zsh/plugins/incr

source incr*.zsh

3.変更したファイル.zshrc

vim ~/.zshrc

、ファイルの末尾に次の行を追加し、保存して終了

source ~/.oh-my-zsh/plugins/incr/incr*.zsh

その後、端末は、実行source ~/.zshrcコンフィギュレーションを更新します

オーバーオーバーオーバー、新しいターミナルウィンドウ次の入力テストコマンドバーを開きます

よくある質問

6オーバー1、端末プロンプトコマンドプロンプトが表示されるので、アイテム too many matches.

回避策:
編集し~/.oh-my-zsh/plugins/incr/incr-02.zshたファイルzle -M "too many matches."フロントラインに追加する#コメントアウトを解決することができるが

以下は、INCR-02.zshバックアップファイルであります

# Incremental completion for zsh
# by y.fujii <y-fujii at mimosa-pudica.net>, public domain


autoload -U compinit
zle -N self-insert self-insert-incr
zle -N vi-cmd-mode-incr
zle -N vi-backward-delete-char-incr
zle -N backward-delete-char-incr
zle -N expand-or-complete-prefix-incr
compinit

bindkey -M viins '^[' vi-cmd-mode-incr
bindkey -M viins '^h' vi-backward-delete-char-incr
bindkey -M viins '^?' vi-backward-delete-char-incr
bindkey -M viins '^i' expand-or-complete-prefix-incr
bindkey -M emacs '^h' backward-delete-char-incr
bindkey -M emacs '^?' backward-delete-char-incr
bindkey -M emacs '^i' expand-or-complete-prefix-incr

unsetopt automenu
compdef -d scp
compdef -d tar
compdef -d make
compdef -d java
compdef -d svn
compdef -d cvs

# TODO:
#     cp dir/

now_predict=0

function limit-completion
{
    if ((compstate[nmatches] <= 1)); then
        zle -M ""
    elif ((compstate[list_lines] > 6)); then
        compstate[list]=""
        zle -M "too many matches."
    fi
}

function correct-prediction
{
    if ((now_predict == 1)); then
        if [[ "$BUFFER" != "$buffer_prd" ]] || ((CURSOR != cursor_org)); then
            now_predict=0
        fi
    fi
}

function remove-prediction
{
    if ((now_predict == 1)); then
        BUFFER="$buffer_org"
        now_predict=0
    fi
}

function show-prediction
{
    # assert(now_predict == 0)
    if
        ((PENDING == 0)) &&
        ((CURSOR > 1)) &&
        [[ "$PREBUFFER" == "" ]] &&
        [[ "$BUFFER[CURSOR]" != " " ]]
    then
        cursor_org="$CURSOR"
        buffer_org="$BUFFER"
        comppostfuncs=(limit-completion)
        zle complete-word
        cursor_prd="$CURSOR"
        buffer_prd="$BUFFER"
        if [[ "$buffer_org[1,cursor_org]" == "$buffer_prd[1,cursor_org]" ]]; then
            CURSOR="$cursor_org"
            if [[ "$buffer_org" != "$buffer_prd" ]] || ((cursor_org != cursor_prd)); then
                now_predict=1
            fi
        else
            BUFFER="$buffer_org"
            CURSOR="$cursor_org"
        fi
        echo -n "\e[32m"
    else
        zle -M ""
    fi
}

function preexec
{
    echo -n "\e[39m"
}

function vi-cmd-mode-incr
{
    correct-prediction
    remove-prediction
    zle vi-cmd-mode
}

function self-insert-incr
{
    correct-prediction
    remove-prediction
    if zle .self-insert; then
        show-prediction
    fi
}

function vi-backward-delete-char-incr
{
    correct-prediction
    remove-prediction
    if zle vi-backward-delete-char; then
        show-prediction
    fi
}

function backward-delete-char-incr
{
    correct-prediction
    remove-prediction
    if zle backward-delete-char; then
        show-prediction
    fi
}

function expand-or-complete-prefix-incr
{
    correct-prediction
    if ((now_predict == 1)); then
        CURSOR="$cursor_prd"
        now_predict=0
        comppostfuncs=(limit-completion)
        zle list-choices
    else
        remove-prediction
        zle expand-or-complete-prefix
    fi
}

おすすめ

転載: www.cnblogs.com/yulongcode/p/12275249.html