在 Notepad++ 中,如何创建一个以不同名称保存当前文件的宏?
当我使用 Notepad++ 中的宏记录器时,它似乎没有记录任何Save
操作。
理想情况下,我希望 Notepad++ 将当前文件保存在打开时的相同位置,但删除文件名中的最后 9 个字符。例如,如果当前文件是:
c:\foo\bar123456789.c
我想要一个 Notepad++ 宏将其保存为:
c:\foo\bar.c
(覆盖任何同名文件)
这是理想的目标,但即使我只能让 Notepad++ 宏接近该目标,也比手动执行该操作有所改进。
答案1
您可以在 PythonScript 插件中运行 Python 脚本。
如果尚未安装,请按照此操作指导
创建脚本(插件>> PythonScript >> 新脚本)
复制此代码并保存文件(例如replace.py
):
import re
# Define the new filename
newFilename = notepad.getCurrentFilename()
# remove up to 9 characters before extension
newFilename = re.sub(r'.{1,9}(?=\.\w+$)', '', newFilename)
# Save current file with new name
notepad.saveAs(newFilename);
- 打开要更改的文件
- 运行脚本(插件>> PythonScript >> 脚本>> 替换)
- 完毕
正则表达式解释:
.{1,9} # 1 upto 9 any characters
(?= # positive lookahead, make sure we have after (without capturing)
\. # a dot
\w+ # 1 or more word characters
$ # end of string
) # end lookahead
如果有总是9 个字符删除,使用.{9}
代替.{1,9}