web-dev-qa-db-ja.com

Sublime Text 3 Tabキーを押したときにコードを削除する

Sublime Text 3でコードのブロックを強調表示してTabキーを押すと、以前のようにブロック全体がインデントされません。代わりに、強調表示されたコードを削除します。

誰もこれを修正する方法を知っていますか?

46
user3236406

これは単純な代替タブの問題です

これは、「このソフトウェアを購入する」ダイアログを見逃し、それを却下していないときに発生することがわかりました。

Alt-tab(MacではCmd-tab)を押して、応答を待機しているダイアログがあるかどうかを確認し、それを閉じます。これで問題が修正されます。

162
Dom UIXNZ

グーグルからここに来る他の人のために、最初にこれを読んでください:

SublimeText 2(3でも動作します)は、今日、設定を変更せずに突然、これを私に始めました。私がしなければならなかったのは、プログラムを再起動することだけでした。

34
Daniel

これは、Sublime Textのデフォルトの動作です。複数行を選択するとインデントされますが、単一行を選択すると(選択に\nが含まれない)、insert_best_completionコマンドが実行され、選択が削除されます。

修正:

ユーザー.sublime-keymapに次を追加します。

{ "keys": ["tab"], "command": "indent", "context":
    [
        { "key": "text", "operator": "regex_contains", "operand": "." }
    ]
},

これにより、タブキーが常にインデントされます。あなたがそれを設定している場合、自動補完と競合するかどうかわからない Tab キー。

インデント解除についても同じことが言えます shift+tab

{ "keys": ["shift+tab"], "command": "unindent", "context":
    [
        { "key": "text", "operator": "regex_contains", "operand": "." }
    ]
},
13

上記のDomの回答と同様に、崇高のアップグレードメッセージが表示され、焦点が合っていない場合にも発生します。また、Sublimeを開いて別のモニターを有効にすると、アップグレードメッセージが画面に表示されないこともわかりました。

唯一の修正は崇高な再起動であるようです。これにより、ダイアログボックスの中心が再設定されます。

3
shoo

「タブ」をクリックして下部のステータスバーを確認すると、問題が発生した理由がわかります。

関連パッケージを見つけた後、私はただ

  • Emmet Style Refloctorパッケージを削除しました(Sublime Text自体ではありません)
  • Sublime Textを再起動しました

現在はうまく機能しています。

1
beytarovski

これは私にも起こりました。選択したテキストがブロックのように見えたが、実際には1行のラップされたテキストであったためです。デフォルトでは、ST3は選択された単一の行をtab文字に置き換えます。

私にとっては、選択が複数行であるかどうかに関係なく、選択をインデント解除/インデントする方が便利なので、ユーザー固有のsublime-keymapファイルに次を追加しました。

{ "keys": ["tab"], "command": "indent", "context":
  [
    { "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true },
  ]
}
1
Mars Redwyne

私にも同じことが起こりました。設定->キーバインディングに移動してから、ユーザー(右)にキーバインディングを追加してください:

[
     { "keys": ["tab"], "command": "indent" },      
     { "keys": ["shift+tab"], "command": "unindent" },
]

その後、崇高な再起動し、それは正常に動作するはずです!

注:これによりタブが壊れてしまいますが、タブのデフォルトをコピーすると修正されます。また、enterを使用する場合も同様に機能します。幸運を!

0
Zachary Heaton