Package Control

The official Sublime Text package manager.

Harpoon

Faster Navigate inside Sublime Text with your favourite list of file

By huyhoang8398
Created June 17, 2026, last updated June 30, 2026.

JunMayAprMarFebJan Dec2025 NovOctSepAugJul 2026-W28 | installs: 7 | removals: 2 | upgrades: 3 2026-W28 | installs: 7 | removals: 2 | upgrades: 3 2026-W28 | installs: 7 | removals: 2 | upgrades: 3 2026-W27 | installs: 9 | removals: 5 | upgrades: 3 2026-W27 | installs: 9 | removals: 5 | upgrades: 3 2026-W27 | installs: 9 | removals: 5 | upgrades: 3 2026-W26 | installs: 2 | removals: 0 | upgrades: 0 2026-W26 | installs: 2 | removals: 0 | upgrades: 0 2026-W26 | installs: 2 | removals: 0 | upgrades: 0 048 WeeklyInstalls 024 WeeklyUpgrades 2026-W27 | upgrades: 3 1.0.5 2026-W26 | upgrades: 0 1.0.4 / 1.0.3 / ... 1.0.4 / 1.0.3 / 1.0.2 2026-W25 1.0.1 / 1.0.0
Installations: recent average 6 per week, 19 in total
Installations minus removals
Upgrades

Links

Versions

1.0.5 ·
2026-06-30 22:01

More

Harpoon

Harpoon Spell Cards

A Sublime Text plugin for marking files and jumping back to them instantly.

Marks are scoped per project / per session

preview

Features

Installation

Stable Version

Open the command palette and run Package Control: Install Package, then select Harpoon.

Development Version

Clone this repository into your Packages directory.

Recommend

Your window should have a saved .sublime-project file (Project > Save Project As...). Harpoon stores marks inside the project file itself, so without one there's nowhere durable to save them — commands will show an error pointing this out. Easiest way is to install AutoProject Plugin that will automatically create .sublime-project

Update (v1.0.3): Harpoon now utilizes window.settings() to manage your marks. This means data is quietly handled by Sublime's internal session manager and persisted inside your workspace or global session cache. A .sublime-project file is no longer required-Harpoon works completely out of the box in any ad-hoc window or folder without any setup or sidebar flashing!

Commands

Command Description
harpoon_add Mark the current file, or unmark it if already marked
harpoon_list Show a quick panel of all marks; select to open
harpoon_goto Jump to a specific mark by slot (index arg, 1-indexed)
harpoon_next Cycle to the next mark
harpoon_prev Cycle to the previous mark
harpoon_clear Clear all marks for the current project
harpoon_edit Open a buffer to edit/re-order harpoon list

Suggested key bindings

Add to your Default.sublime-keymap (Preferences > Key Bindings):

[
    { "keys": ["ctrl+alt+a"], "command": "harpoon_add" },
    { "keys": ["ctrl+alt+e"], "command": "harpoon_list" },
    { "keys": ["ctrl+alt+]"], "command": "harpoon_next" },
    { "keys": ["ctrl+alt+["], "command": "harpoon_prev" },
    { "keys": ["ctrl+alt+d"], "command": "harpoon_clear" },
    { "keys": ["ctrl+alt+r"], "command": "harpoon_edit" },

    { "keys": ["ctrl+1"], "command": "harpoon_goto", "args": {"index": 1} },
    { "keys": ["ctrl+2"], "command": "harpoon_goto", "args": {"index": 2} },
    { "keys": ["ctrl+3"], "command": "harpoon_goto", "args": {"index": 3} },
    { "keys": ["ctrl+4"], "command": "harpoon_goto", "args": {"index": 4} }
]

Adjust freely — these are just suggestions, not hardcoded defaults. harpoon_goto accepts any index, so you aren't limited to four slots; add more bindings for index: 5, 6, etc. if you want.

Usage

  1. Open a file you want to keep close at hand.
  2. Press your harpoon_add key (e.g. ctrl+alt+a) to mark it. Press it again on the same file to unmark it.
  3. Switch to another file, mark it too. Repeat as needed.
  4. Use ctrl+1ctrl+4 (or your bound keys) to jump straight to a marked file by slot, harpoon_next/harpoon_prev to cycle through the list in order, or harpoon_list to see all marks in a quick panel and pick one.

How it works

Marks are stored under a "harpoon_marks" key inside your window's settings, accessed via Sublime's window.settings() API. Because this data is handled directly by Sublime's internal session manager, it is automatically persisted behind the scenes to your .sublime-workspace file (if using a saved project) or the global auto-save session cache. This completely avoids manual disk writes to a .sublime-project file, keeping your sidebar quiet and your workflow lag-free.

This also means:

Notes

Results

Packages