Autojump: Incapaz de entrar no diretório, basta imprimir

Criado em 13 jan. 2016  ·  12Comentários  ·  Fonte: wting/autojump

Meu sistema é ArchLinux, autojump Installation by pacman.
Perfil com oh-my-zsh, mas não consigo configurar o quão bom é

➜  /home/king  >autojump
/home/king/AndroidStudioProjects/yjy-android
➜  /home/king  >autojump -s
10.0:   /home/king/.AndroidStudio1.5/config
10.0:   /home/king/.oh-my-zsh
10.0:   /home
10.0:   /home/king/GitProjects/dash-to-dock
10.0:   /home/king/back
10.0:   /home/king/usb
10.0:   /home/king/autojump
14.1:   /home/king/PythonProjects
14.1:   /usr/share/zsh/functions/Zle
14.1:   /home/king/vimtest
14.1:   /home/king/GitProjects
14.1:   /home/king/android/.repo
14.1:   /home/king/.AndroidStudio1.5
17.3:   /home/king/Downloads/genymotion
24.5:   /home/king/android
28.3:   /home/king/AndroidStudioProjects
37.4:   /home/king/Downloads
44.7:   /home/king/AndroidStudioProjects/yjy-android
________________________________________

307:     total weight
18:  number of entries
0.00:    current directory weight

data:    /home/king/.local/share/autojump/autojump.txt
➜  /home/king  >autojump -v
autojump v22.2.4

no .zshrc

[[ -s /etc/profile.d/autojump.zsh ]] && source /etc/profile.d/autojump.zsh
plugins=(git autojump)

Tenho certeza que esses arquivos estão presentes

➜  /home/king  >ls /etc/profile.d 
android-sdk.csh                 autojump.fish  jre.csh             perlbin.csh
android-sdk-platform-tools.csh  autojump.sh    jre.sh              perlbin.sh
android-sdk-platform-tools.sh   autojump.zsh   locale.sh           vte.sh
android-sdk.sh                  gpm.sh         mozilla-common.csh
autojump.bash                   gradle.sh      mozilla-common.sh

Comentários muito úteis

Você não deve usá-lo diretamente, você deve usar a função j para pular para diretórios visitados anteriormente.

Todos 12 comentários

Meu outro computador é normal, e não consigo entender por que isso

Mesmo problema atualmente. Executando o fedora 23.

Por favor, leia a seção de uso ou as páginas do manual.

@wting Eu li, mas o problema ainda existe. Não é possível acessar o diretório, ele só imprimirá o diretório

➜  ~ j yjy
/home/king/AndroidStudioProjects/yjysh
➜  ~ j -v
autojump v22.3.0
➜  ~ j -s
10.0:   /home/king/AndroidStudioProjects/yjysh
10.0:   /home/king/gitProjects/autojump
10.0:   /home/king/gitProjects
________________________________________

30:  total weight
3:   number of entries
0.00:    current directory weight

data:    /home/king/.local/share/autojump/autojump.txt


Isso está relacionado ao # 154, mas vamos manter a conversa aqui. @ turing-king: Experimente isto:

$ echo $SHELL
$ which j
$ declare -f j

@wting

➜  yjysh git:(release) ✗ echo $SHELL
/bin/zsh
➜  yjysh git:(release) ✗ which j
j: aliased to autojump
➜  yjysh git:(release) ✗ declare -f j
j () {
    if [[ ${1} = -* ]] && [[ ${1} != "--" ]]
    then
        autojump ${@}
        return
    fi
    setopt localoptions noautonamedirs
    local output="$(autojump ${@})" 
    if [[ -d "${output}" ]]
    then
        if [ -t 1 ]
        then
            echo -e "\\033[31m${output}\\033[0m"
        else
            echo -e "${output}"
        fi
        cd "${output}"
    else
        echo "autojump: directory '${@}' not found"
        echo "\n${output}\n"
        echo "Try \`autojump --help\` for more information."
        false
    fi
}

j não deve ser apelidado de autojump , ele está substituindo a função shell j .

@wting O uso direto não tem efeito

➜  ~ autojump -s
10.0:   /home/king/gitProjects/autojump
10.0:   /home/king/gitProjects
10.0:   /home/king/AndroidStudioProjects
17.3:   /home/king/AndroidStudioProjects/yjysh
________________________________________

47:  total weight
4:   number of entries
0.00:    current directory weight

data:    /home/king/.local/share/autojump/autojump.txt




➜  ~ autojump yjy
/home/king/AndroidStudioProjects/yjysh

➜  ~ declare -f autojump
➜  ~ 


Você não deve usá-lo diretamente, você deve usar a função j para pular para diretórios visitados anteriormente.

@wting Obrigado ~

Eu ainda tenho esse problema

echo $SHELL return /bin/bash
which j não retorna nada
declare -f j retorna a função j

Alguém pode me ajudar ?

@tuananh como você inicializa o autojump? Isto é o que tenho em meu arquivo shell rc (distribuição Fedora):

[[ -s /etc/profile.d/autojump.sh ]] && source /etc/profile.d/autojump.sh
Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

xuhdev picture xuhdev  ·  3Comentários

nunoh picture nunoh  ·  20Comentários

shanyutou picture shanyutou  ·  3Comentários

grota picture grota  ·  16Comentários

davux picture davux  ·  9Comentários