1. ホーム
  2. sublimetext3

[解決済み] Sublime Text 3で5ボタンマウスを設定する方法

2022-02-25 09:57:03

質問

5つのボタンが付いたマウスを持っていますが、Sublime Text 3でこれらのボタンを特定のタスクに設定するにはどうしたらよいでしょうか。例えば button4 が行います。 Buildbutton5 が行う Build With...

解決方法は?

Sublime Textの場合、マウスアクションの設定は、いわゆる mousemap ファイル(拡張子は .sublime-mousemap ). これらのファイルは一般的に2つのバリエーションを持つことができます :-)

  • Default.sublime-mousemap : これは、あらゆるプラットフォームのマウスアクションを定義するものです。
  • Default ($platform).sublime-mousemap : これは、特定のプラットフォームに対するマウスアクションを定義するもので、以下のようになります。 $platform は任意の 1 Windows , Linux または OSX は、お使いのオペレーティングシステムによって異なります。

デフォルトで出荷されているmousemapファイルを表示するには View Package File をコマンドパレットから検索し mousemap .

独自のマウスアクションを定義する (または既存のアクションを上書きする) には、次のような名前のファイルを作成する必要があります。 Default.sublime-mousemap の中にある User ディレクトリに移動します(このディレクトリに移動するには Preferences -> Browse Packages ... を使うことで、プラットフォームに依存しないオーバーライドが可能です (あるいは Default ($platform).sublime-mousemap は、OSに依存したオーバーライドのため)。

マウスマップファイルについての基本的な知識です(マウスマップファイルについての公式やコミュニティの文書はないので、すべては実験と開発者の発言に基づいていることに注意してください)。

マウスマップファイルのいくつかのキーの意味を説明します :-)

  • ボタン : これは、ボタンの名前を定義します。例えば ボタン1 は、マウスの左ボタン&ampを指します。 ボタン2 は、マウスの右ボタンを定義します。同様に ボタン3 , ボタン4 . ボタン5 などがあります。このようなボタン名が実際にいくつ存在するかはわかりません。また、スクロールホイールについては スクロール_アップ 上方向へのスクロール移動の場合&amp。 スクロール_ダウン を指定すると、その逆の動作になります。

  • 修飾子 : のようなモディファイアキーのリストです。 ctrl , アルト などです。例えば ["alt"] , ["ctrl", "alt"] . モディファイアリストを定義すると、リストアップされたすべてのモディファイアキーが同時に押され、対応するボタンを押したり離したりすることで何らかのアクションが引き起こされるはずです。

  • コマンド : 対応するボタンが押されたときに実行されるコマンドを定義する。 解除 が押された後。このコマンドが何らかの引数を取る場合、その引数には アーギュメント のキーがあります。

  • プレスコマンド : 対応するボタンが押されたときに実行されるコマンドを定義します。 押される . このコマンドが何らかの引数を取る場合、その引数には プレス_アーギュメント というキーがあります。

  • カウント : 対応するボタンを何回押せばアクションが発生するか(アクションというのは、対応する コマンド / プレスコマンド )

注意 この場合 コマンド プレスコマンド ということであれば

いくつかの例を見てみましょう :-)

ファイル名 :-) User/Default.sublime-mousemap

[
    {
        "button": "button2",
        "modifiers": [],
        "press_command": "echo",
        "press_args": {
            "message": "I am pressed"
        },
        "command": "echo",
        "args": {
            "message": "I am released"
        },
    }
]

ここでは、右ボタン( ボタン2 ) は、ビルトインされた エコー コマンドを使用します。今右クリックすると、デフォルトの動作は実際にはコンテキストメニューが開くようになっていましたが、現在は オーバーライド というメッセージが表示されます。 {'message': 'I am pressed'} または {'message': 'I am released'} を押した後、押したか離したかによって、コンソールに表示されます。

あなたの場合、以下のようなものが可能です :-)

[
    {
        "button": "button1", // replace button1 with button4/5 because I don't have that many mouse buttons.
        "modifiers": ["alt", "ctrl", "shift"],
        "press_command": "undo",
    }   
]

さて、今、あなたが ボタン1 (を押している間 アルト , ctrl , シフト を同時に使用すること)は アンドゥ コマンドを実行する必要があります。このコマンドは モディファイア を空のリストに変換します。

ビルドについては、最新のビルドシステムを実行するということであれば、以下のように置き換えます。 アンドゥ である。 ビルド .

最後に、ボタンの動作を無効にしたい場合は、以下のコマンドを使用します。 ノーップ .

例 :-)

[
    {
        "button": "button1",
        "modifiers": [],
        "press_command": "noop",
    }   
]

を無効化します。 ボタン1 で、ドラッグセレクトができなくなる;-) というわけで、気をつけてください。

少しでも参考になれば幸いです。