Notepad++:建立巨集取代選定的文本

Notepad++:建立巨集取代選定的文本

我需要一個 Notepad++ 巨集來執行搜尋和替換,但適用於運行巨集時突出顯示的文字部分。

我嘗試錄製宏,但它記錄了我在錄製巨集時突出顯示的文字部分。那不是我想要的。我需要申請搜尋和替換每次運行巨集時都會有不同的文字。

錄製巨集後,AppData\Notepad++\shortcuts.xml出現這個東西:

<Macro name="SaR_macro" Ctrl="yes" Alt="no" Shift="yes" Key="89">
    <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
    <Action type="3" message="1601" wParam="0" lParam="0" sParam="some text" />
    <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
    <Action type="3" message="1602" wParam="0" lParam="0" sParam="" />
    <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
    <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

也許有一種方法可以在some text上面的位置插入“當前選擇”之類的內容?我應該這樣做嗎?

編輯:

更準確地說,我正在努力實現的目標。假設我有一個如下所示的 txt 檔案:

text text text text text - qwerty
text text text text - asdf
text text text text text text - zxc

我想要實現的情況是:我選擇- qwerty,然後按巨集熱鍵,結果我變成了- qwerty其他東西。然後我選擇- asdf,接下來我按巨集熱鍵,結果我變成了- asdf和以前一樣的東西。接下來,同樣的事情也發生在- zxc.

答案1

恐怕只用一個熱鍵是不可能的。

儘管如此,還有一個替代方案:

您可以在 PythonScript 插件中執行 python 腳本。

如果尚未安裝,請按照此操作指導

  • 建立腳本(外掛程式 >> PythonScript >> 新腳本)
  • 複製此程式碼並保存檔案(例如replace_highlight.py):

editor.replaceSel('new text')

  • 前往外掛程式 >> PythonScript >> 配置
  • 選擇腳本replace_highlight.py
  • 節省
  • 重新啟動Notepad++(工具列中將出現PythonScript圖示)
  • 打開你要修改的文件
  • 突出顯示要替換的文本
  • 點擊之前創建的圖標
  • 完畢

如果你想更換所有出現的情況所選文本,使用以下程式碼:

editor.replace(editor.getSelText(), 'NEW TEXT')

相關內容