当stdin不是终端时的Ruby提示(显式为Notepad ++)?

时间:2009-11-19 00:27:49

标签: ruby notepad++ command-prompt

我是Notepad ++用户。 我喜欢该软件的一个功能是你可以在UI中使用“控制台”(这不是一个真正的终端),并且你可以从那里运行一些命令行解释器。

仅供参考,要使控制台在Notepad ++中运行,您需要安装NppExec插件,然后转到Menu > Plugins > NppExec > Execute...并输入您想要的任何可执行文件(exe,批处理等)并按好。将启动控制台,您将在那里看到程序的输出,如果是交互式shell,您还可以输入命令。

例如

  • 对于实际的DOS提示,您运行cmd.exe
  • 对于Python提示,您运行python.exe -i
    • 来自Python帮助:-i inspect interactively after running script; forces a prompt even if stdin does not appear to be a terminal; also PYTHONINSPECT=x

现在,我想知道是否有办法用irb获得类似的提示。任何人都知道如何在Notepad ++中运行它?

更新

我在答案中提到它已经在Notepad ++ 5.4.5中有效。在我看来,它没有。

我从Notepad ++获得了什么:

alt text http://content.screencast.com/users/JocelynLegault/folders/Jing/media/7cec643e-0924-479d-b31a-a40c691ec25d/2009-11-18_1814.png

我的期望:

alt text http://content.screencast.com/users/JocelynLegault/folders/Jing/media/211d1b9f-6f66-458e-9a19-61b7e9b19b43/2009-11-18_1816.png

2 个答案:

答案 0 :(得分:1)

在npp_exec中使用以下脚本:

cmd /c start what_you_want_to_execute

说明:要获取cmd的新实例,需要使用start命令。但是start命令仅适用于cmd。因此,首先使用选项/ c执行cmd,这样它将执行后面的内容并在此之后退出。 然后使用start命令执行您需要执行的操作。

为了让它更漂亮,你可以使用:

cmd /c start cmd /q /c "what_you_want_to_execute && pause"

与以前一样,现在只使用start命令启动带有选项/ q的cmd,它代表安静,并且与.bat文件中的@echo相同。再次/ c选项。然后你要执行的事情再加上暂停。最后两件事是在引号之间,因此第一次调用cmd不会在npp_exec控制台中执行它。

我有时会使用这个脚本执行java:

cmd /c start cmd /q /c "C:\Progra~1\Java\jdk1.6.0_17\bin\java.exe -classpath "$(CURRENT_DIRECTORY)" "$(NAME_PART)" && pause"

答案 1 :(得分:0)

对于IRB,只需运行irb.bat。

这就是它的样子(Notepad ++ 5.4.5和NppExec 0.3 RC1):

alt text http://img198.imageshack.us/img198/8373/86448854.jpg