Autojump: 无法进入目录,直接打印出来

创建于 2016-01-13  ·  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 shell 函数。

@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你如何初始化自动跳转? 这是我的 shell rc 文件(Fedora 发行版)中的内容:

[[ -s /etc/profile.d/autojump.sh ]] && source /etc/profile.d/autojump.sh
此页面是否有帮助?
0 / 5 - 0 等级

相关问题

mbigras picture mbigras  ·  3评论

rsparkyc picture rsparkyc  ·  11评论

shepherdwind picture shepherdwind  ·  11评论

loveencounterflow picture loveencounterflow  ·  6评论

juanrgon picture juanrgon  ·  4评论