必须先在cmd中验证ruby -v能正常返回版本号,否则notepad++所有ruby配置均无效;配置run命令为ruby "$(full_current_path)",须加双引号防路径截断,且运行前务必保存文件并重启notepad++以刷新path环境变量。

ruby 命令必须能在 CMD 中直接执行
Notepad++ 本身不带 Ruby 解释器,它只是调用系统命令行去跑 ruby。跳过这步验证,后面所有配置都无效。
打开 CMD,输入:ruby -v
如果返回类似 ruby 3.1.4 的版本号,说明环境就绪;如果报错 'ruby' 不是内部或外部命令,说明 PATH 没配好。
- 重装 RubyInstaller 时,务必勾选 Add Ruby executables to your PATH
- 已安装但漏勾选?手动把 Ruby 的
bin目录(如C:\Ruby31-x64\bin)加进系统环境变量 PATH - 改完 PATH 后,必须完全关闭并重启 Notepad++——它启动时缓存环境变量,只重启 CMD 没用
Run 菜单里填对命令和引号
路径含空格或中文时,$(FULL_CURRENT_PATH) 必须用双引号包裹,否则命令会截断或解析失败。
- 正确写法:
ruby "$(FULL_CURRENT_PATH)" - 错误写法:
ruby $(FULL_CURRENT_PATH)(缺引号)、ruby "$FULL_CURRENT_PATH"(语法错)、ruby %FULL_CURRENT_PATH%(Notepad++ 不识别 % 变量) - 别用
py -3那类启动器替代ruby——Notepad++ 的 Run 系统不解析 shebang,也不识别 Windows 的应用执行别名
文件保存、编码与中文输出要同步处理
没保存就点运行?脚本根本不会执行。Notepad++ 的 $(FULL_CURRENT_PATH) 指向的是磁盘上已保存的文件路径,未保存时为空或临时路径。
- 运行前务必手动保存文件(
Ctrl+S),哪怕只是新建的空白.rb文件 - 脚本首行加
# -*- coding: utf-8 -*-不解决控制台乱码——Windows CMD 默认用 GBK,Ruby 在非 UTF-8 终端下可能直接崩溃或输出乱码 - 临时切编码:在命令前加
cmd /c chcp 65001 >nul &&,完整命令为:cmd /c chcp 65001 >nul && ruby "$(FULL_CURRENT_PATH)"
NppExec 是备选方案,但别滥用
如果你需要更复杂的流程(比如先 cd 到当前目录再运行),NppExec 插件确实比 Run 菜单灵活,但它引入了额外依赖和状态管理成本。
- 装好
NppExec后,在 F6 对话框里填两行即可:cd $(CURRENT_DIRECTORY)ruby $(FULL_CURRENT_PATH) - 注意:
$(FULL_CURRENT_PATH)在 NppExec 里不用加引号(它自己处理路径),但 Run 菜单里必须加 - 不要为简单脚本启用 NppExec——它默认开启控制台窗口且不自动关闭,容易堆积残留窗口;
Run菜单更轻量、更可预测
最易被忽略的其实是“保存”和“重启 Notepad++”这两件事:一个影响路径有效性,一个影响环境变量加载。两者任一缺失,都会让 ruby "$(FULL_CURRENT_PATH)" 表面成功实则静默失败。











