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


21

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

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

回答:


23

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

スクリーンショット


4
確かに、ボタンがあります。しかし、どのように使用しますか?特に、「選択」をどのように設定しますか?私の経験から、ST2は検索バーを開いたときの選択を使用します。そのため、バーが既に開いている場合は、最初にそれを閉じる(Esc)必要があります。次に、調べたいテキストの範囲を選択してからもう一度開きます(Ctrl + FまたはCtrl + H)。プロのヒント:選択範囲が複数行にわたる場合、現在の検索式は置き換えられません。
ロバート

3
MacでCmd + Opt + Fを押して、検索と置換コンソールを開きます。
ミカ

2
他のすべてのオプションがあるので、特に「選択中」のキーボードショートカットがない理由については完全に困惑しています。それを可能にするには、本当にマウスに手を動かす必要がありますか?すべてのSTに反するようです...(私はST3を使用しています)
-TheStoryCoder

5
@TheStoryCoderええ、それはキーボードショートカットではないのは愚かですが、コマンドの名前が文書化されていないことを除いて、簡単に作成できることが判明しましたが、私は幸運で正しいと推測しました。ユーザーのキーバインディングに追加するコードは次のとおりです:{"keys":["alt + y"]、 "command": "toggle_in_selection"、 "context":[{"key": "setting.is_widget"、 "operator" :「等しい」、「オペランド」:true}]}、
Owen_R

私のように混乱した他の人々への注意:テキストの複数の行を選択し、Ctrl + H(検索と置換を開きます)を押して[検索対象]フィールドに入力を開始すると、選択した行は選択されたように見えなくなりますが、彼らはまだです。その問題がなければ、解決策を検索することさえなかったので、この投稿を見つけました。ところで、以前は問題がなかったことを覚えているようですので、おそらく再起動後に何かが消えるでしょう。
ステファンモノフ

7

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

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


10
「auto_find_in_selection」:true
mdrozdziel

改行が含まれていないときに自動的に呼び出すにはどうすればよいですか?たとえば、多くの「行」にまたがる非常に長い行がある場合はどうでしょうか。その行を選択して検索を呼び出すたびに、「選択範囲内」オプションが無効になります。
user2544542

6

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

{ "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}
        ]
    },

キーバインドはデフォルトですでに存在します。
エルサデク

ほら なぜ私はそれを逃していたのだろうか...そして、デフォルトのバインディングにあった「toggle_」の事柄は次のtoggle_side_bar toggle_full_screen toggle_distraction_free toggle_overwrite toggle_record_macro toggle_setting toggle_comment toggle_case_sensitive toggle_regex toggle_whole_word toggle_preserve_case
とおりでした。– Owen_R

3

(Mac OS Xの固有のショートカットを)交換するsome namenew name

  1. テキストの上にカーソルを置きます
  2. 検索some namecmdf、入力some name(時々を押す必要がありますreturn
  3. :置き換えを指定しshiftcmdrtabtabフィールドを置き換えるために取得するには、種類new nameしないプレスreturn
  4. altcmde完了するまで繰り返します。

誰もこれを行うより速い方法を知っていますか?!それは覚えておくことはかなりとんでもないと、不必要に難しい
AJP

ST2は、デフォルトではそう、あなたはそれを無効にしている場合は、クリックするだけ-オリバー・グラムの答え@見ctrl+Htiteledボタンが『選択で』があります。そして、 『何をして下さい』に委ね
ピーター

2

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


0

選択範囲内で置換を操作するためのキーは、最初にテキストを選択してから、検索>置換に進み、検索および置換するテキストを入力し、「選択範囲内」のツールチップのボタンをチェックして、「すべて置換をクリックします。 ..


0

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

検索するテキストを選択し、Shift+ Hを押して検索と置換ツールバーを表示します。あるボタンを選択内の検索がアクティブになります左のボタンの銀行の右側には。

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.