Skip to content
| Marketplace
Sign in
Visual Studio Code>Keymaps>Jumplist aka HarpoonNew to Visual Studio Code? Get it now.
Jumplist aka Harpoon

Jumplist aka Harpoon

raghunandhanvr

| (0) | Free
Quick file navigation with vim-style leader keys and numbered jumps
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Jumplist

Quick file navigation with vim-style leader keys and numbered jumps.

Why Jumplist

Most repos have hundreds of files, but during a feature you actively touch only a few. Add just those files to the jumplist. With a few repetitions, your fingers learn the chords and you’ll bounce between them instantly—no mouse, no friction, just muscle memory.

Demos

Default (Ctrl+;)

Demo

Vim (Leader)

Demo Vim

Features

  • Add files to jumplist: Ctrl+; a (or Vim <leader> a)
  • Open jumplist: Ctrl+; j (or Vim <leader> j)
  • Jump by number: Ctrl+; 1..9 (or Vim <leader>1..9)
  • Next/Previous: Ctrl+; down / Ctrl+; up
  • Reorder and remove: Manage your jumplist from the Quick Pick interface
  • Configurable: Change keybindings or map to your Vim leader

Usage

Default Keybindings

Keybinding Action
Ctrl+; a Add current file to jumplist
Ctrl+; j Open jumplist
Ctrl+; up Jump to previous file in jumplist
Ctrl+; down Jump to next file in jumplist
Ctrl+; Backspace Remove current file from jumplist
Ctrl+; 1-9 Jump to file at position 1-9

Customize Leader Key

Open your keybindings.json and modify the leader key:

{
  "command": "jumplist.addCurrent",
  "key": "ctrl+; a",
  "mac": "ctrl+; a"
}

For Vim users (VSCodeVim)

If you use the VSCodeVim extension, you can set your Vim leader and map leader chords to Jumplist commands. Add this to your VS Code settings.json:

{
  "vim.leader": "<space>",
  "vim.normalModeKeyBindingsNonRecursive": [
    { "before": ["<leader>", "a"], "commands": ["jumplist.addCurrent"] },
    { "before": ["<leader>", "j"], "commands": ["jumplist.open"] },
    { "before": ["<leader>", "1"], "commands": ["jumplist.jump1"] },
    { "before": ["<leader>", "2"], "commands": ["jumplist.jump2"] },
    { "before": ["<leader>", "3"], "commands": ["jumplist.jump3"] },
    { "before": ["<leader>", "4"], "commands": ["jumplist.jump4"] },
    { "before": ["<leader>", "5"], "commands": ["jumplist.jump5"] },
    { "before": ["<leader>", "6"], "commands": ["jumplist.jump6"] },
    { "before": ["<leader>", "7"], "commands": ["jumplist.jump7"] },
    { "before": ["<leader>", "8"], "commands": ["jumplist.jump8"] },
    { "before": ["<leader>", "9"], "commands": ["jumplist.jump9"] },
    { "before": ["<leader>", "<BS>"], "commands": ["jumplist.deleteCurrent"] }
  ]
}

These mappings work alongside the default Ctrl+; chords; keep or remove the defaults to your preference.

Workflow Example

  1. Working on auth.ts → Press Ctrl+; a (added as #1)
  2. Switch to database.ts → Press Ctrl+; a (added as #2)
  3. Open config.ts → Press Ctrl+; a (added as #3)
  4. Need to check auth again? → Press Ctrl+; 1 (instantly opens auth.ts)
  5. View all files → Press Ctrl+; j (shows Quick Pick list)

Known Issues

  • Maximum 9 files supported in jumplist

Release Notes

0.1.0 – 2025-10-10

Initial release with core jumplist functionality, keyboard-first UX, and Vim mappings.


Enjoy faster file navigation!

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft