this post was submitted on 21 Sep 2024
358 points (99.2% liked)

Open Source

31072 readers
763 users here now

All about open source! Feel free to ask questions, and share news, and interesting stuff!

Useful Links

Rules

Related Communities

Community icon from opensource.org, but we are not affiliated with them.

founded 5 years ago
MODERATORS
 

Can't imagine using my system without this.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 3 points 1 month ago* (last edited 1 month ago) (1 children)

Yes, it's a simple shell function; needs to be a function in your bashrc, not a script, because cd doesn't work like that. Just copy the function from https://yazi-rs.github.io/docs/quick-start#shell-wrapper into your .bashrc:

EDIT: I forgot that Beehaw will replace the ampersand character to &. So instead copying my code you should copy it from the link above.

yy() {
    local tmp
    local cwd
    tmp="$(mktemp -t "yazi-cwd.XXXXXX")"
    yazi "${@}" --cwd-file="${tmp}"
    if cwd="$(cat -- "${tmp}")" && [ -n "${cwd}" ] && [ "${cwd}" != "${PWD}" ]; then
        builtin cd -- "${cwd}" || return
    fi
    rm -f -- "${tmp}"
}

I use yy instead single y.

[–] [email protected] 2 points 1 month ago (1 children)

Thank you so much for taking the time to post it. I will add this asap.

[–] [email protected] 2 points 1 month ago* (last edited 1 month ago)

I forgot that Beehaw will replace the ampersand character to &. So instead copying my code you should copy it from the link above.