Notepad ++マクロで検索および置換できますか?


18

Notepad ++でマクロを作成して、いくつかの標準の検索と置換を実行しようとしています。検索と置換以外のすべてを実行する(行を追加する、文字を追加する)マクロを取得できます。

マクロを手動で編集するためのファイルが見つかりません。

検索と置換を実行するNotepad ++でマクロを作成することに成功した人はいますか?どうやって?

PS:これを実行できる他のツールには興味がありません-perl、vi(m)、UltraEdit、sed、awkを自分で操作する方法を知っています-Notepad ++でこれができるかどうか疑問に思っていました。

回答:


13

はい、できます。新しいマクロを記録し、検索と置換を行い、アクションを正常に保存したので、マクロを再生したときに同じ検索と置換のアクションを実行しました。

私はNotepad ++ Macrosの専門家ではありませんが、そうだと思います...ランダムファイルを開き、testというマクロを作成しました。「snip」という単語を探し、「blaa」に置き換えました。

shortcuts.xmlNotepad ++を閉じた後にファイルを開くと、この新しいマクロが明らかになります。

<Macro name="test" Ctrl="no" Alt="no" Shift="no" Key="0">
    <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
    <Action type="3" message="1601" wParam="0" lParam="0" sParam="snip" />
    <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
    <Action type="3" message="1602" wParam="0" lParam="0" sParam="blaa" />
    <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
    <Action type="3" message="1701" wParam="0" lParam="1608" sParam="" />
</Macro>

これはテストされ、私のマシンで動作します。このファイルを手動で変更すると、変更が反映され、Notepad ++で動作します。

ただし、shortcuts.xml(Appdataフォルダーにある)ファイルは、Notepad ++を開く/終了するときにのみロードおよび保存されます。


ありがとう。ファイルは見つかりましたが、録音はまだ機能しませんでした。ファイルを編集し(N ++オフコースではない)、切り取ったものを貼り付けました。N ++はマクロを認識しましたが、何も正常に置き換えられませんでした-記録/再生を妨げるのは、満たされていない依存関係であるに違いないと思います。
コネラック

1
Notepad ++には特別なアドオンはありません(Niniteからインストールされます)...最新バージョンを使用していることを確認してください。ただし、これが機能しない場合は、インストールに問題がある可能性があります。
ウィリアムヒルサム

「すべてのドキュメントで検索と置換」機能を使用した後、上記のサンプルコードで正常に生成できました。2つの小さな変更があります。上記のlParam「768」は「2」、lParam「1608」は「1635」になりました。それ以外の場合は、うまくいきました!(Notepad ++ 5.9.2)
マイク

v7.6を使用していますが、検索と置換を行うマクロを記録できました。で同じ定義を生成しましたshortcuts.xml。しかし、Notepad ++を閉じてプログラムを再度開くまで、マクロは機能しませんでした。私はshortcuts.xmlあなたの例で記録されたものを置き換えるために見て、新しいものがファイルに書き込まれていないことを発見しました。次に、プログラムが開いたときと閉じたときにのみショートカットが読み込まれ、保存されるというメモを思い出しました。@WilliamHilsumに感謝します。私はそれなしで努力を放棄したかもしれません。
アダムポラッド

6

以前にも、これは私には役に立たないことがわかりました。しかし、その後、Notepad ++ 5.6.xから5.9.8に更新し、検索と置換を問題なく記録できるようになりました。非常に素晴らしい!

もちろん、shortcuts.xmlマクロエディターがないため、1つを記録した後に手動で編集することは避けられません。巨大なマクロを完璧に記録するには、超人的な集中力が必要です。(そのファイルを編集する前に、Notepad ++のすべてのインスタンスが閉じられていることを確認してください。)


1

私もNotepad ++で(テキストを操作するための)マクロエディタを見つけませんでした(Notepad ++には組み込みの機能はほとんどありません)。しかし、Notepad ++でマクロを作成するためのプラグインが利用可能になりました。このプラグインは「Python Script」と呼ばれ(優れたドキュメントとサンプル付き)、このプラグインを使用すると、エディターとNotepad ++自体をほぼ完全に制御できるため、あらゆる種類のマクロを作成できます。Pythonの基本的な知識がある場合は、このプラグインを使用してマクロの作成を開始できます(このプラグイン自体のドキュメントには、初心者向けの基本的なPython構文が記載されています)。

このプラグインを使用して、マクロとしてほぼあらゆる種類の操作を検索および置換して実行できます。

詳細については、次のリンクを参照してください。http//npppythonscript.sourceforge.net/

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