我需要一个 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')