16

Command++で複数のファイルを検索するShiftF、結果はテキストファイルのようなものとして返されます。このテキスト ファイルは編集可能ですが、変更を加えても元のファイルには影響しません。

「検索結果」の変更が元のソース ファイルに反映されるようにすることは可能ですか?

4

2 に答える 2

20

Find Results Apply Changesプラグインは、まさにそれを行うために作成されました。

Package Control の「Install Package」オプションからインストールできます。

このプラグインを使用する前に、メニューを使用して UTF-8 エンコーディングが有効になっていることを確認してください。

File > Save with Encoding > UTF-8

インストールしたら、「検索結果」バッファに加えた変更をファイルに適用できます。

  • フォルダ内で「foo」を検索します (Sublime のデフォルトのショートカットはCTRL+ SHIFT+ですS)
  • これにより、「foo」を含むすべてのファイルをリストする「検索結果」バッファが開きます。
  • 「foo」のインスタンスを「bar」などに変更します...
  • メニューに移動します。

    Find > Find Results - Apply Changes
    
  • これにより、行われたすべての変更がファイルに書き戻され、変更されたファイルが自動的に保存されます。

デフォルトでは、メニューを使用することが唯一の方法です。ただし、これは非常に面倒で、キーボード ショートカットほど時間の節約にはなりません。に新しい行を追加することで、選択したキーボード ショートカットを設定できます。

Preferences > Key Bindings - User

追加することにより:

{ "keys": ["ctrl+r"], "command": "find_results_apply_changes" },

CTRL+Sは保存ファイルのショートカットを上書きするため、使用しないでください。

警告!: プラグインの作成者によると:

領域を使用して複数行の変更を行うことができますが、新しい改行を挿入するときに、複数回コミットするとファイルが破損します。これは、新しい改行が行番号をシフトするためです。変更されたファイルの他のインスタンスで改行を追加/削除すると、ファイルも「破損」します。たとえば、別のタブで。破損を防ぐために、このパッケージは警告を発し、これらのほとんどを防ぎます。

(これは、Find Results Apply Changes Github ページの説明の修正版です。)

于 2014-05-07T14:24:22.070 に答える
2

私が考えることができる最短の回避策は、単にパスをダブルクリックして検索結果からターゲット ファイルを開き、Windows ではCtrl+を使用して該当する行にジャンプすることです。G⌃</kbd>+G on Mac OS.

それが私のやり方で、プラグインがなくてもほんの数秒です。

于 2013-11-08T09:50:34.617 に答える