Using the jumplist
To help with quick navigation, Helix maintains a list of "jumps" called the jumplist.
Whenever you make a significant movement (see next section), Helix stores your selections from before the move as a jump.
A jump serves as a kind of checkpoint, allowing you to jump to a separate location, make edits, and return to where you were with your previous selections.
This way, the jumplist tracks both your previous location and your selections.
You can manually save a jump by using Ctrl-s.
To jump backward in the jumplist, use Ctrl-o; to go forward, use Ctrl-i. To view and select from the full jumplist, use Space-j to open the jumplist picker.
What makes a jump
The following is a non-exhaustive list of which actions add a jump to the jumplist:
- Switching buffers
- Using the buffer picker, going to the next/previous buffer
- Going to the last accessed/modified file
- Making a new file (:new FILE)
- Opening a file (:open FILE)
- Includes :log-open, :config-open, :config-open-workspace, :tutor
- Navigating by pickers, global search, or the file explorer
- goto_file (gf)
- Big in-file movements
- select_regex (s)
- split_regex (S)
- search (/)
- keep_selections and remove_selections (K and <A-K>)
- goto_file_start (gg)
- goto_file_end
- goto_last_line (ge)
- :goto 123 / :123 / 123G
- goto_definition (gd)
- goto_declaration (gD)
- goto_type_definition (gy)
- goto_reference (gr)
- Other
- Ctrl-s manually creates a jump
- Trying to close a modified buffer can switch you to that buffer and create a jump
- The debugger can create jumps as you jump stack frames