我想让notepad ++运行"ruby {filename_here}"命令,如果当前文件名以.rb结尾,"perl {filename_here}"则以.pl结尾.我试过使用NppExec插件,但它不能做有条件的东西,所以我写了一个蝙蝠
@echo off
if /i %~sx1 == .pl perl "%~f1"
if /i %~sx1 == .rb ruby "%~f1"
if /i %~sx1 == .php php "%~f1"
Run Code Online (Sandbox Code Playgroud)
现在我可以从命令行使用它,如C:\ Program Files\Notepad ++> runscript"D\pl.pl",它工作正常.现在我如何将Notepad ++中的某些键绑定到"runscript $(FULL_CURRENT_PATH)"?我试过使用Run-> Run菜单(F5),但它似乎不起作用..
akf*_*akf 21
您需要将文件名放在命令的末尾.在运行(F5)对话框中,尝试以下操作:
runscript $(FULL_CURRENT_PATH)
Run Code Online (Sandbox Code Playgroud)
如果你想测试它,你可以把它放在& pause最后,看它是否有效.
您还可以通过使用GOTO带有文件扩展名标签的dreaded 命令来稍微调整脚本,以便每个文件都不会测试每个扩展名:
@echo off
GOTO %~sx1
:.pl
perl "%~f1"
GOTO end
:.rb
ruby "%~f1"
GOTO end
:.php
php "%~f1"
GOTO end
:end
Run Code Online (Sandbox Code Playgroud)
在Windows上运行的notepad ++ 6.2版中,只需使用带引号的"$(FULL_CURRENT_PATH)",因此将使用与该文件关联的默认程序打开该文件.因此,请确保"使用notepad ++编辑" 不是默认的双击操作.
在使它工作时,我遇到了问题,以便在我查看壳窗口时会保持打开状态。在最后添加“&pause”似乎没有帮助,直到我cmd /c在开头添加:
cmd /c c:\php\php.exe -l "$(FULL_CURRENT_PATH)" & pause
为了使命令结果显示在屏幕上,可以使用/ k开关,如乔治建议的那样:
cmd /k c:\php\php.exe -l "$(FULL_CURRENT_PATH)"
效果很好,我将其用于Notepad ++中的快速语法检查。
| 归档时间: |
|
| 查看次数: |
33023 次 |
| 最近记录: |