web-dev-qa-db-ja.com

崇高なテキスト:選択範囲内での検索と置換

Sublime Text 2では、ユーザーは現在の選択に限定された検索と置換を実行できますか?

それを実行する方法を見つけるために複数の検索を行った後、私はそれができなかったに違いないと思います。

22
JellicleCat

ST2にはそのためのボタンがあります。

Screenshot

23
Henno

選択に改行が含まれる場合、「選択内」ボタンが自動的にアクティブになります-ST2

スマートアクティベーションは、残念ながらST3で失われました。ここでフォローアップできます http://www.sublimetext.com/forum/viewtopic.php?f=3&t=11679

7
skqr

ユーザーのキーバインドに追加する必要があるものは次のとおりです。

{ "keys": ["alt+y"], "command": "toggle_in_selection", "context":
    [
        { "key": "setting.is_widget", "operator": "equal", "operand": true }
    ]
},

ええ、それはデフォルトのキーバインドセットではないのはおかしいです。

コマンド名「toggle_in_selection "は記載されていませんでしたが、推測して幸運になりました。


追加する編集:

/*
btw, the way i want to use find by default
(actually, i use replace by default, but same dif),
is for "in_selection" to be true by default,
*unless* the selection is empty.
(
the default is that "in_selection" is *false* by default,
unless the selection contains a newline.
)
i finally got around to digging up how to get that,
which is apparently by changing the *keybindings* you use to pop open the find(/replace) panel?
*/
    { "keys": ["ctrl+f"], "command": "show_panel", "args": {"panel": "replace", "in_selection": true}},
    { "keys": ["ctrl+f"], "command": "show_panel", "args": {"panel": "replace", "in_selection": false},
    "context":
        [
            { "key": "selection_empty", "operator": "equal", "operand": true}
        ]
    },
6
Owen_R

(Mac OS X固有のショートカットを使用)some namenew nameに置き換える:

  1. テキストの上にカーソルを置きます
  2. some nameを検索: cmdf、タイプsome name(押す必要がある場合があります return
  3. 置換を指定: shiftcmdr、 tabtab 置換フィールドを取得するには、「new name」と入力しますしない押します return
  4. 繰り返す altcmde 完了するまで。
3
AJP

検索するテキストを選択し、検索メニューから[置換]をクリックするだけです。選択した範囲内で自動的に実行されます。

3
Oliver G

(私の意見では)最善かつ最も役立つ解決策がコメントに隠されていたため、別の回答を追加していますが、ほとんど見落としていました(@mdrozdzielに感謝します)。

検索したいテキストを選択し、 Shift+H 検索と置換ツールバーを表示します。左側のボタン群の右側に button があり、選択範囲内で検索をアクティブにします。

これはST3ではデフォルトでオフになっていますが、"auto_find_in_selection": trueを設定ファイルに追加することで、複数の行を選択したときにデフォルトオンに設定できます( AltNSEnter)。

0
cyuut

選択範囲内で置換を操作するためのキーは最初にテキストを選択する次に検索>置換に移動し、検索して置換するテキストを入力してから- 「選択中」のツールチップのボタンをチェックしてください次に「すべて置換」をクリックします...

0
user278847