47

enterSublime Text 3 では、オートコンプリート ドロップダウンから項目を選択するキーを無効にし、そのtabキーのみを許可したいと考えています。

組み込みDefault (OSX).sublime-keymapファイルでこのセクションを見つけました:

{ "keys": ["enter"], "command": "commit_completion", "context":
    [
        { "key": "auto_complete_visible" },
        { "key": "setting.auto_complete_commit_on_tab", "operand": false }
    ]
},

これを構成から削除するenterと、ドロップダウンの項目が選択されないようです。残念ながら、このファイルを変更することはお勧めできません。私のUserファイルで上書きするだけです。内容を変更せずに実際に編集できるとは思いません.app

さまざまなセクションを削除してオーバーライドしようとしましたが、 を除くすべてを削除しましたが、何も機能して"keys": ["enter"]いないようです。

組み込みのファイルDefault (OSX).sublime-keymapのみを変更せずにこれを達成するにはどうすればよいですか?User/Default (OSX).sublime-keymap

4

2 に答える 2

69

Sublime Text 3 を使ったことはありませんが、以下は Sublime Text 2 から変わっていないと思います。

あなたが達成したいことは、実際には Sublime Text の標準機能です。オンにするだけです。

引用したコードのこの行…</p>

{ "key": "setting.auto_complete_commit_on_tab", "operand": false }

… は、「'auto_complete_commit_on_tab' という設定が false に設定されている場合にのみ、コマンドを実行する」ことを意味します。そのため、その設定をオンにするだけです。

Default/Preferences.sublime-settings:

// By default, auto complete will commit the current completion on enter.
// This setting can be used to make it complete on tab instead.
// Completing on tab is generally a superior option, as it removes
// ambiguity between committing the completion and inserting a newline.
"auto_complete_commit_on_tab": false,

"auto_complete_commit_on_tab": trueUser/Preferences.sublime-settings に入れます。上記の両方のファイルには、[設定] メニューからアクセスできます。

于 2013-04-10T10:59:51.363 に答える
11

存在しないコマンドに割り当てることができます。に以下を追加してみてくださいUser/Default (OSX).sublime-keymap

{ "keys": ["enter"], "command": "noop", "context":
    [
        { "key": "auto_complete_visible" },
        { "key": "setting.auto_complete_commit_on_tab", "operand": false }
    ]
}

コマンドを持つプラグインをインストール/作成する場合は、noopこのコマンドを変更する必要があります。

編集

Lydellのソリューションの方が優れています:)その設定を忘れていました(ただし、コンテキスト内にあるため、知っておくべきでした...)。私の答えは、より一般的な「キーバインドを無効にする方法」だと思います。

于 2013-03-15T00:54:04.240 に答える