ฉันจะเลือกปิดใช้งานการรวมการควบคุมเวอร์ชันของ zsh ได้อย่างไรเมื่อ CWD ของฉันอยู่ในระบบไฟล์ระยะไกล


16

ฉันใช้ zsh บน OSX และในบางครั้งฉันต้องทำงานบนโวลุ่ม sshfs ที่ติดตั้ง อย่างไรก็ตามคอมไพล์ช้ากว่าการเมานท์ sshfs จริงๆ ข้อความแจ้งของฉันใช้ประโยชน์จากโหมด vc ที่ zsh มีให้ในตัว แต่ในกรณีนี้ฉันต้องการข้ามส่วนนั้น

ฉันต้องการปิดการใช้งานการรวม vc ทุกครั้งที่ CWD ของฉันอยู่ในระบบไฟล์ที่ติดตั้ง ฉันจะทำสิ่งนั้นได้อย่างไร

ฉันกำลังเปิดใช้งานข้อมูลคอมไพล์ในพรอมต์ของฉันโดยใช้ (โดยประมาณ) ตัวอย่างของไฟล์. zshrc ของฉัน (ดี,. -oh-my-zsh / ธีม แต่คุณเข้าใจ):

zstyle ':vcs_info:*' enable hg git bzr svn p4

zstyle ':vcs_info:(hg*|git*):*' get-revision true
zstyle ':vcs_info:(hg*|git*):*' check-for-changes true

# rev+changes branch misc
zstyle ':vcs_info:hg*' formats "[%i%u %b%m]"
zstyle ':vcs_info:hg*' actionformats "(%{$fg_bold[red]%}%a%{$reset_color%})[%i%u %b%m]"

# hash changes branch misc
zstyle ':vcs_info:git*' formats "[%{$fg[yellow]%}%12.12i%{$reset_color%} %u %{$fg[magenta]%}%b%{$reset_color%}%m]"
zstyle ':vcs_info:git*' actionformats "(%a)[%{$fg[yellow]%}%12.12i%{$reset_color%} %u %{$fg[magenta]%}%b%{$reset_color%}%m]"

zstyle ':vcs_info:git*+set-message:*' hooks git-st git-stash

zstyle ':vcs_info:hg*:netbeans' use-simple true

zstyle ':vcs_info:hg*:*' get-bookmarks true

zstyle ':vcs_info:hg*:*' get-mq true
zstyle ':vcs_info:hg*:*' get-unapplied true
zstyle ':vcs_info:hg*:*' patch-format " mq(%g):%{$fg[green]%}%n%{$reset_color%}/%{$fg_bold[blue]%}%c%{$reset_color%} %{$fg[green]%}%p%{$reset_color%}"
zstyle ':vcs_info:hg*:*' nopatch-format ""

zstyle ':vcs_info:hg*:*' unstagedstr " ?"
zstyle ':vcs_info:hg*:*' hgrevformat "%{$fg[yellow]%}%r%{$reset_color%}" # only show local rev.
zstyle ':vcs_info:hg*:*' branchformat "%{$fg[magenta]%}%b%{$reset_color%}" # only show branch

# Show remote ref name and number of commits ahead-of or behind
function +vi-git-st() {
    local ahead behind remote
    local -a gitstatus

    # Are we on a remote-tracking branch?
    remote=${$(git rev-parse --verify ${hook_com[branch]}@{upstream} \
        --symbolic-full-name 2>/dev/null)/refs\/remotes\/}

    if [[ -n ${remote} ]] ; then
        # for git prior to 1.7
        # ahead=$(git rev-list origin/${hook_com[branch]}..HEAD | wc -l)
        ahead=$(git rev-list ${hook_com[branch]}@{upstream}..HEAD 2>/dev/null | wc -l | tr -s ' ')
        (( $ahead )) && gitstatus+=( " ${c3}+${ahead}${c2}" )

        # for git prior to 1.7
        # behind=$(git rev-list HEAD..origin/${hook_com[branch]} | wc -l)
        behind=$(git rev-list HEAD..${hook_com[branch]}@{upstream} 2>/dev/null | wc -l | tr -s ' ')
        (( $behind )) && gitstatus+=( " ${c4}-${behind}${c2}" )

        hook_com[branch]="${hook_com[branch]} [${remote}${(j:/:)gitstatus}]"
    fi
}

# Show count of stashed changes
function +vi-git-stash() {
    local -a stashes

    if [[ -s ${hook_com[base]}/.git/refs/stash ]] ; then
        stashes=$(git stash list 2>/dev/null | wc -l)
        hook_com[misc]+=" (${stashes} stashed)"
    fi
}

precmd () { vcs_info }
PROMPT='
%{$(get_prompt_user_color)%}%n%{$reset_color%} at %{$(get_prompt_host_color)%}%m%{$reset_color%} in %{$fg_bold[green]%}%~%{$reset_color%} ${vcs_info_msg_0_}
$(virtualenv_info)$(prompt_char) '


ไม่มันไม่ใช่ความสำเร็จที่มีปัญหา
Chris R

โอเคขออภัยสำหรับคำตอบ "rtfm" ... ดูหัวข้อ 26.4 ของคู่มือ ... ควรช่วย ... zsh.sourceforge.net/Doc/Release/
Joe Internet

คุณสามารถเพิ่มส่วน zshrc ที่เกี่ยวข้องที่คุณใช้ในการเปิดใช้งานนี้ได้หรือไม่
พหุนาม

คำตอบ:


9

ดูที่ การควบคุมเวอร์ชันข้อมูล

ค้นหาส่วนใน'รูปแบบปิดการใช้งาน' (ประมาณหน้าลง 20%)
สมมติว่าการเมานต์ระยะไกลของคุณได้รับการแก้ไขหรือค่อนข้างคงที่นั่นคือ/mnt/remote/*หรือคุณสามารถแสดงรายการทั้งหมดได้คุณควรจะสามารถสร้าง regex ให้พวกมันได้

ตัวอย่างที่ลิงก์ถูกปิดใช้งานvcs_infoภายใต้~/.zsh/ผ่าน:

zstyle ':vcs_info:*' disable-patterns "$HOME/.zsh(|/*)"

ฉันเดาคุณสามารถทำให้ zshrc หรือเทียบเท่า (ขออภัย - ผู้ใช้ทุบตี) คิดออกซึ่งเป็นระยะไกลที่เริ่มต้น (หรือเป็นระยะหรือ ... ) และปรับปรุงzstyleตาม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.