Autojump: Невозможно войти в каталог, просто распечатайте

Созданный на 13 янв. 2016  ·  12Комментарии  ·  Источник: wting/autojump

Моя система - ArchLinux, установка автоперехода с помощью pacman.
Профиль с oh-my-zsh, но не могу настроить насколько хорошо

➜  /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

в .zshrc

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

Я уверен, что эти файлы присутствуют

➜  /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

Самый полезный комментарий

Вы не должны использовать его напрямую, вы должны использовать функцию j для перехода к ранее посещенным каталогам.

Все 12 Комментарий

Другой мой компьютер нормальный, и я не могу понять почему так

Та же проблема в настоящее время. Запуск Fedora 23.

Пожалуйста, прочтите раздел использования или справочные страницы.

@wting Я прочитал, но проблема все еще существует. Невозможно получить доступ к каталогу, он только распечатает каталог

➜  ~ 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


Это относится к № 154, но давайте продолжим разговор. @ turing-king: Попробуйте это:

$ 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 не должно иметь псевдонима autojump , это отменяет функцию оболочки j .

@wting Прямое использование не имеет никакого эффекта

➜  ~ 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
➜  ~ 


Вы не должны использовать его напрямую, вы должны использовать функцию j для перехода к ранее посещенным каталогам.

@wting Спасибо ~

У меня все еще есть эта проблема

echo $SHELL возврат /bin/bash
which j ничего не возвращает
declare -f j возвращает функцию j

Кто-нибудь может мне помочь ?

@tuananh как инициализировать автопереход? Вот что у меня в rc-файле оболочки (дистрибутив Fedora):

[[ -s /etc/profile.d/autojump.sh ]] && source /etc/profile.d/autojump.sh
Была ли эта страница полезной?
0 / 5 - 0 рейтинги