How to use Sublime Text 3's mousemap settings?

I'm finding scattered info on how to use a ".sublime-mousemap" file in various places on the Web, but nothing comprehensive.

What are the options when specifying mouse settings for Sublime Text 3?


Not a full solution to your problem, but I can at least advise viewing the default mousemap for some learning value.

In case it isn't easily findable in your filesystem (as happened in my case), I found that there's a PackageResourceViewer plugin, which lets you open it, via:

Ctrl+Shift+P -> "PackageResourceViewer: Open Resource"-> "Default" -> "Default (...OS...).sublime-mousemap".


On Windows 10, I can override the default settings in C:\Users\Cees.Timmerman\AppData\Roaming\Sublime Text 3\Packages\User\Default (Windows).sublime-mousemap

On saving that file, Sublime will use it, or show an error message if the syntax is faulty.

Here's the default content in case the link dies:

[
    // Basic drag select
    {
        "button": "button1", "count": 1,
        "press_command": "drag_select_callback"
    },
    {
        "button": "button1", "count": 1, "modifiers": ["ctrl"],
        "press_command": "drag_select_callback",
        "press_args": {"additive": true}
    },
    {
        "button": "button1", "count": 1, "modifiers": ["alt"],
        "press_command": "drag_select_callback",
        "press_args": {"subtractive": true}
    },

    // Select between selection and click location
    {
        "button": "button1", "modifiers": ["shift"],
        "press_command": "drag_select_callback",
        "press_args": {"extend": true}
    },
    {
        "button": "button1", "modifiers": ["shift", "ctrl"],
        "press_command": "drag_select_callback",
        "press_args": {"additive": true, "extend": true}
    },
    {
        "button": "button1", "modifiers": ["shift", "alt"],
        "press_command": "drag_select_callback",
        "press_args": {"subtractive": true, "extend": true}
    },

    // Drag select by words
    {
        "button": "button1", "count": 2,
        "press_command": "drag_select_callback",
        "press_args": {"by": "words"}
    },
    {
        "button": "button1", "count": 2, "modifiers": ["ctrl"],
        "press_command": "drag_select_callback",
        "press_args": {"by": "words", "additive": true}
    },
    {
        "button": "button1", "count": 2, "modifiers": ["alt"],
        "press_command": "drag_select_callback",
        "press_args": {"by": "words", "subtractive": true}
    },

    // Drag select by lines
    {
        "button": "button1", "count": 3,
        "press_command": "drag_select_callback",
        "press_args": {"by": "lines"}
    },
    {
        "button": "button1", "count": 3, "modifiers": ["ctrl"],
        "press_command": "drag_select_callback",
        "press_args": {"by": "lines", "additive": true}
    },
    {
        "button": "button1", "count": 3, "modifiers": ["alt"],
        "press_command": "drag_select_callback",
        "press_args": {"by": "lines", "subtractive": true}
    },

    // Shift + Mouse 2 Column select
    {
        "button": "button2", "modifiers": ["shift"],
        "press_command": "drag_select_callback",
        "press_args": {"by": "columns"}
    },
    {
        "button": "button2", "modifiers": ["shift", "ctrl"],
        "press_command": "drag_select_callback",
        "press_args": {"by": "columns", "additive": true}
    },
    {
        "button": "button2", "modifiers": ["shift", "alt"],
        "press_command": "drag_select_callback",
        "press_args": {"by": "columns", "subtractive": true}
    },

    // Mouse 3 column select
    {
        "button": "button3",
        "press_command": "drag_select_callback",
        "press_args": {"by": "columns"}
    },
    {
        "button": "button3", "modifiers": ["ctrl"],
        "press_command": "drag_select_callback",
        "press_args": {"by": "columns", "additive": true}
    },
    {
        "button": "button3", "modifiers": ["alt"],
        "press_command": "drag_select_callback",
        "press_args": {"by": "columns", "subtractive": true}
    },

    // Simple chording: hold down mouse 2, and click mouse 1
    {
        "button": "button1", "count": 1, "modifiers": ["button2"],
        "command": "expand_selection", "args": {"to": "line"},
        "press_command": "drag_select_callback"
    }
]