web-dev-qa-db-ja.com

メモ帳+ +のためのgrepのような機能?

私はメモ帳++でgrepのような機能をいくつか持ちたいです。

最も単純なバージョンでは、Wordのfooを含む現在のバッファからすべての行を新しいバッファにコピーできます。 TextFXプラグインを使用してfooがなくてもすべての行を非表示にすることができますが、それだけではうまくいきません。 Alt - Tab、一致する行だけをコピーすることはできません、など)。

51
Frank Meulenaar

Ctrl+F - > Markタブに移動 - > toggle Bookmark line - >クリックMark All.

メニューを選択検索 - > ブックマーク - > ブックマークした行をコピー.

77
kev

私はちょうどこの同じ質問を調べていました。あなたが知っているかどうかはわかりません。 [検索]ダイアログでは、[現在の文書ですべて検索]を選択すると、一致する行が下部に表示されます。その後、それを新しい文書にコピーすることができます。

残念ながら、結果には余分な情報(行番号など)が含まれていますが、列モードを使用してそれを除外することができます。

12
Nick S

もう1つの優れた解決策は、NppExecプラグインを使用してNotepad ++用のgrepコマンドを追加することです。

「Bookmarks」ソリューションよりも優れている点は、大きなファイルでは特に速く実行され、元のファイルを変更する必要がないことです。この機能をNotepad ++で利用できるようにするには、一度小さなスクリプトを作成する必要があります。

私の解決策の例はWindows用で、私は findstr を使用します。これはすべてのWindowsマシンで利用可能なgrepのようなコマンドツールです。しかし、もちろん、他の grep clone を使うこともできます。

ステップ1:NppExecプラグインをインストールする

Plugins / Plugin Manager / Show Plugin Managerに行き、NppExecまでスクロールして、このプラグインを選択し、そしてインストールをクリックしてください。インストールプロセスを完了するには、Notepad ++を再起動する必要があります。

ステップ2:NppExec用の小さなスクリプトを作成する

Plugins / NppExec / Executeに移動し、次のスクリプトを入力して「grep」として保存します。

SET local OUTFILE = "c:\temp\$(FILE_NAME).temp"
INPUTBOX "Input filter string"
cmd /c findstr $(INPUT) "$(FULL_CURRENT_PATH)" >$(OUTFILE)
NPP_OPEN $(OUTFILE)

(OUTFILEへのパスがあなたの環境に合っているかどうか再確認してください)

ステップ3:スクリプトにメニュー項目を追加する(オプション)

Plugins / NppExec / Advanced Optionsに行き、Associated scriptの下のスクリプト「grep」を選択し、OKをクリックして保存します。新しいメニュー項目の追加を完了するために、NppExecによって要求されたようにメモ帳を再起動します。

ステップ4:スクリプトのショートカットを追加する(オプション)

Settings / Shortcut Mapper / Plugin commandsに移動し、下にスクロールしてスクリプトコマンド "grep"を見つけて、そのショートカットを定義します。例えばALT-G

2
Erik Kalkoken