notepad++ 通过配置外部命令调用系统 ruby 解释器运行脚本,需先确保 ruby 已安装并加入 path,再在“运行→运行…”中设置命令 ruby "$(full_current_path)" 并保存为快捷键;中文乱码需加 chcp 65001 && 前缀或在脚本首行设置编码;注意手动保存文件,否则运行旧版本。

Notepad++ 本身不执行 Ruby 脚本,它只是个编辑器;要“运行”,本质是配置外部命令调用系统已安装的 ruby 解释器。前提是你的 Windows 系统已正确安装 Ruby 并加入 PATH。
确认 ruby 命令能否在 CMD 中直接运行
这是最常被跳过的一步,也是后续所有配置失败的根源。打开 CMD,输入:
ruby -v
如果返回类似 ruby 3.1.4 (2022-11-24 revision 1a8e2b5b1f) [x64-mingw-ucrt],说明环境就绪;若提示 'ruby' 不是内部或外部命令,请先安装 Ruby(推荐使用 RubyInstaller),安装时务必勾选 Add Ruby executables to your PATH。
在 Notepad++ 中添加“运行 Ruby”菜单项
通过 运行 → 运行...(快捷键 F5)配置一条命令,让 Notepad++ 调用 ruby 执行当前文件:
- 在弹出框中输入:
ruby "$(FULL_CURRENT_PATH)" - 点击
保存...,起个名字如Run Ruby,快捷键可设为F6 - 注意:
"$(FULL_CURRENT_PATH)"是 Notepad++ 内置变量,带引号可应对路径含空格的情况 - 不要写成
ruby $(FULL_CURRENT_PATH)(缺引号)或ruby "$FULL_CURRENT_PATH"(错用 $ 符号)
处理中文输出乱码(Windows 控制台默认 GBK)
如果你的 Ruby 脚本含中文字符串,直接运行可能显示为乱码。这不是 Notepad++ 的问题,而是 Windows CMD 默认编码与 Ruby UTF-8 输出不匹配:
- 临时方案:在命令前加
chcp 65001 &&,完整命令变为:chcp 65001 && ruby "$(FULL_CURRENT_PATH)" - 更稳做法:在 Ruby 脚本开头加两行(尤其 Ruby 2.4+):
Encoding.default_external = Encoding::UTF_8 Encoding.default_internal = Encoding::UTF_8
- 不建议改系统区域设置或强制 Notepad++ 启动 CMD /utf-8,副作用大且不稳定
为什么不用 NppExec 插件?
有人会搜到用 NppExec 插件实现“集成终端”,但对 Ruby 这类解释型脚本属于过度设计:
-
NppExec本身不解决编码问题,仍需手动chcp或 Ruby 层适配 - 它的控制台无法响应
gets、STDIN.read等交互式输入(会卡住) - 纯执行脚本场景下,
F5 → 输入命令 → 保存快捷键更轻量、更可靠
真正容易被忽略的是:Notepad++ 不会自动保存当前文件再运行——如果你改了代码但没手动 Ctrl+S,运行的仍是旧版本。这个行为和 VS Code 或 Sublime 不同,得自己养成习惯。











