我的系统是 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
我的另一台电脑是正常的,我不明白为什么会这样
目前同样的问题。 运行 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
最有用的评论
你不应该直接使用它,你应该使用
j
函数跳转到以前访问过的目录。