Bisakah saya mencari dan mengganti makro Notepad ++?

18

Saya mencoba membuat makro di Notepad ++ yang memungkinkan saya melakukan beberapa Pencarian & Pengganti standar. Saya bisa membuat makro melakukan semuanya (menambahkan baris, menambahkan karakter) kecuali mencari dan mengganti.

Saya tidak dapat menemukan file untuk mengedit makro secara manual.

Adakah yang pernah berhasil membuat Makro di Notepad ++ yang melakukan Pencarian dan Ganti? Bagaimana?

PS: Saya tidak tertarik dengan alat lain yang dapat melakukan ini - Saya tahu jalan sekitar perl, vi (m), UltraEdit, sed, awk sendiri - Saya hanya ingin tahu apakah Notepad ++ dapat melakukan ini.

Konerak
sumber

Jawaban:

13

Ya Anda bisa, saya hanya mencoba untuk merekam makro baru, melakukan pencarian dan penggantian dan itu berhasil menyelamatkan tindakan sehingga ketika saya memainkan makro, itu melakukan pencarian dan mengganti tindakan yang sama.

Saya bukan ahli di Notepad ++ Macros, tapi saya kira Anda ... Saya membuka file acak dan membuat tes makro yang disebut. Itu mencari kata yang disebut "snip" dan menggantinya dengan "blaa".

Membuka shortcuts.xmlfile setelah menutup Notepad ++ mengungkapkan makro baru ini:

<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>

Ini diuji dan bekerja pada mesin saya, saya bisa secara manual memodifikasi file ini dan perubahannya tercermin dan berfungsi di Notepad ++.

Namun harap dicatat, shortcuts.xmlfile (terletak di folder Appdata Anda), hanya dimuat dan disimpan saat membuka / keluar Notepad ++.

William Hilsum
sumber
Terima kasih. Saya menemukan file, tetapi rekaman masih tidak berhasil. Saya mengedit file (tidak dengan N ++ tentunya) dan menempelkan potongan Anda. N ++ mengenali makro tetapi tidak berhasil menggantikan apa pun - saya kira pasti ada ketergantungan yang tidak terpenuhi yang mencegah saya dari perekaman / pemutaran.
Konerak
1
Semua yang saya miliki adalah Notepad ++ tanpa addons khusus (Diinstal dari Ninite) ... Pastikan Anda menggunakan versi terbaru - tetapi jika Anda tidak dapat mengaktifkannya, ada sesuatu yang salah dengan instalasi Anda.
William Hilsum
Saya setelah fungsi "menemukan dan mengganti dalam semua dokumen" dan berhasil membuatnya dengan kode sampel di atas, dengan dua perubahan kecil: lParam"768" di atas menjadi "2" dan lParam"1608" menjadi "1635". Kalau tidak, itu bekerja dengan baik! (Notepad ++ 5.9.2)
Mike
Saya menggunakan v7.6 dan saya dapat merekam makro untuk melakukan pencarian dan penggantian. Ini menghasilkan definisi yang sama di shortcuts.xml. Namun makro tidak berfungsi sampai setelah saya menutup Notepad ++ dan membuka kembali program. Saya melihat shortcuts.xmluntuk mengganti apa yang direkam dengan contoh Anda, dan menemukan tidak ada yang baru telah ditulis ke file. Kemudian saya ingat catatan Anda tentang cara pintas hanya dimuat dan disimpan hanya ketika program dibuka dan ditutup. Jadi terima kasih @ WilliamHilsum untuk tip yang sangat membantu itu. Saya mungkin telah meninggalkan upaya tanpa itu.
Adam Porad
6

Saya sebelumnya menemukan bahwa ini juga tidak berhasil untuk saya. Tetapi kemudian saya memperbarui dari Notepad ++ 5.6.x ke 5.9.8, dan sekarang saya dapat merekam find-and-replace dengan baik. Sangat bagus!

Tentu saja, mengedit secara manual shortcuts.xmlsetelah merekam satu tidak dapat dihindari karena tidak ada editor makro, dan Anda memerlukan konsentrasi manusia super untuk merekam makro besar tanpa cacat. (Pastikan semua instance Notepad ++ ditutup sebelum mengedit file itu.)

Redsandro
sumber
1

Saya juga tidak menemukan editor makro (untuk memanipulasi teks) pada Notepad ++ (meskipun Notepad ++ menyediakan beberapa fungsi inbuilt). Tapi sekarang ada plugin yang tersedia untuk membuat makro di Notepad ++. Plugin ini disebut ' Python Script ' (dengan dokumentasi dan sampel yang baik) di mana Anda dapat menulis segala jenis makro karena dengan plugin ini, Anda hampir memiliki kendali penuh atas editor dan Notepad ++ itu sendiri. Jika Anda memiliki pengetahuan dasar tentang python, Anda dapat mulai menulis makro menggunakan plugin ini (Dokumentasi plugin ini sendiri mencakup beberapa sintaks python dasar untuk pemula).

Anda dapat mencari & mengganti dan melakukan hampir semua jenis operasi sebagai makro menggunakan plugin ini.

Berikut ini tautan untuk informasi lebih lanjut: http://npppythonscript.sourceforge.net/

Sandeep
sumber