Giter Club home page Giter Club logo

Comments (11)

kuremu avatar kuremu commented on July 4, 2024 1

ty, so via --bind is more preferred than via --preview to save/restore pos is what u mean?

Yeah, specifically --bind 'focus:... for saving and --bind 'load:... for loading. But there are quite a few ways you could do it. Check man fzf AVAILABLE KEYS and AVAILABLE EVENTS for what you can bind to, and AVAILABLE ACTIONS for what can be performed on a bind.

from fzf.

kuremu avatar kuremu commented on July 4, 2024

If you are trying to open fzf at the most recent position after closing, I would suggest something like seq 50 | fzf --bind $'focus:execute-silent(echo $(({n} + 1)) > last.pos)' --bind $'load:transform(echo pos\($(cat last.pos)\))'

from fzf.

tmpm697 avatar tmpm697 commented on July 4, 2024

seq 50 | fzf --bind $'focus:execute-silent(echo $(({n} + 1)) > last.pos)' --bind $'load:transform(echo pos($(cat last.pos)))'

it does not load up last post and not keep the view

from fzf.

kuremu avatar kuremu commented on July 4, 2024

If you mean you want to reopen fzf with 10 still selected, and also 11 and 12 still visible at the bottom of the list, I don't think there is functionality for this. The scrolling and view position is sorted out automatically by pos(). You might find --scroll-off=n useful, which will at least keep a buffer of n items between the top/bottom edges of the list and the cursor.

from fzf.

tmpm697 avatar tmpm697 commented on July 4, 2024

If you mean you want to reopen fzf with 10 still selected, and also 11 and 12 still visible at the bottom of the list, I don't think there is functionality for this. The scrolling and view position is sorted out automatically by pos(). You might find --scroll-off=n useful, which will at least keep a buffer of n items between the top/bottom edges of the list and the cursor.

yeah, --scroll-off=LINES helped but it feel less natural than usual.

and why u suggest save and restore pos with this? seq 50 | fzf --bind $'focus:execute-silent(echo $(({n} + 1)) > last.pos)' --bind $'load:transform(echo pos\($(cat last.pos)\))' --> i tried and it does not work, pos is saved to file but cursor not restored at last pos.

from fzf.

kuremu avatar kuremu commented on July 4, 2024

and why u suggest save and restore pos with this? seq 50 | fzf --bind $'focus:execute-silent(echo $(({n} + 1)) > last.pos)' --bind $'load:transform(echo pos\($(cat last.pos)\))' --> i tried and it does not work, pos is saved to file but cursor not restored at last pos.

Sorry didn't notice you were using zsh. This looks like it works:

seq 50 | fzf --bind 'focus:execute-silent(echo $(({n} + 1)) > last.pos)' --bind 'load:transform:echo pos\($(cat last.pos)\)'

from fzf.

tmpm697 avatar tmpm697 commented on July 4, 2024

seq 50 | fzf --bind 'focus:execute-silent(echo $(({n} + 1)) > last.pos)' --bind 'load:transform:echo pos($(cat last.pos))'

ty, so via --bind is more preferred than via --preview to save/restore pos is what u mean?

from fzf.

tmpm697 avatar tmpm697 commented on July 4, 2024

@junegunn @LangLangBart any idea for this issue?

from fzf.

junegunn avatar junegunn commented on July 4, 2024

What exactly are you trying to implement here?

fzf doesn't support persisting and restoring its internal states between processes, because of its asynchronous nature and because there are just too many dynamic states that affect the user interface. If you want to quickly come back to fzf after running some other interactive tasks, use execute action.

from fzf.

tmpm697 avatar tmpm697 commented on July 4, 2024

i just realized that this feature may need to bring a daemon and db to persist some states which is not standalone exe fzf can solve.

from fzf.

tmpm697 avatar tmpm697 commented on July 4, 2024

for someone who stumble to this issue later, we can save last post with fzf and restore it later, then i wonder if we can able to save the last top line pos (below header if has) and the bottom one --> so we can restore the last pos relative to one of two top and bottom pos.

this theoretically possible, when we restore the last pos, say we can make it relative (last pos + last bottom) = current relative pos. or (last pos + last top) = relative pos.

@junegunn is that possible?

from fzf.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.