【问题标题】:Sublime Text modifying Linux mousemap to use 4th mouse buttonSublime Text 修改 Linux 鼠标映射以使用第 4 个鼠标按钮
【发布时间】:2014-09-24 23:14:28
【问题描述】:

在 Linux 上使用 Sublime Text 3 (Build 3059)。

在 Sublime Text 中,列选择可用于选择文件的矩形区域。使用鼠标执行此操作时,每个平台上使用不同的鼠标按钮。在 OS X 和 Windows 上,鼠标中键都可以用来选择文本的矩形。在 Linux 上,您需要使用鼠标右键 + shift,我发现这种组合不方便,因此想使用鼠标上的第 4 个按钮来完成,而无需使用修饰键。

很简单,我只需要在我的默认鼠标映射文件中更改列选择鼠标映射。

以下是 3 个(Linux、OS X 和 Windows)默认鼠标映射文件的相关部分:

// Column select Linux default mousemap file
{
    "button": "button2", "modifiers": ["shift"],
    "press_command": "drag_select",
    "press_args": {"by": "columns"}
},

// Column select is the same in the default OS X and Windows mousemap files:
{
    "button": "button3",
    "press_command": "drag_select",
    "press_args": {"by": "columns"}
},

所以我想我需要做的就是使用与 OS X 和 Windows 相同的代码,但设置“button4”而不是“button3”。所以我最终得到了这个:

// ~/.config/sublime-text-3/Packages/User/Default (Linux).sublime-mousemap

[
    // Map column select to 4th mouse button.
    {
        "button": "button4",
        "press_command": "drag_select",
        "press_args": {"by": "columns"}
    }
]

除了它行不通之外,一切都非常合乎逻辑和直截了当。按第 4 个鼠标按钮不会进行列选择,它什么也不做。怎么了?!

【问题讨论】:

    标签: sublimetext2 sublimetext sublimetext3


    【解决方案1】:

    我花了一段时间才弄明白,但是......

    在 Linux 中,“button4”不一定引用第 4 个鼠标按钮。事实上,在我的系统上,“button8”引用了第 4 个鼠标按钮。所需要的只是在我使用“button4”之前使用“button8”。

    [
        // Map column selection to 4th mouse button ("button8").
        {
            "button": "button8",
            "press_command": "drag_select",
            "press_args": {"by": "columns"}
        }
    ]
    

    希望这对某人有所帮助。


    编辑: UNIX/Linux 用户可以使用打印 X 事件内容的xev 来获取他们的鼠标按钮编号。

    【讨论】:

    • 你从哪里发现你的系统使用了button8?
    • 我使用了xev 来打印 X 事件的内容。运行它并将鼠标指针放在它打开的小窗口中,然后按下鼠标按钮。希望这会有所帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多