我经常在打开 TextMate 窗口并在其旁边的终端窗口中运行 irb 进程的情况下进行编码。我希望能够在 TextMate 中按下一个按键序列,该序列执行以下操作:
- 复制当前选择,如果没有,则复制当前行。
- 将其粘贴到运行 irb 的最上面的终端窗口中。
- 按 Enter 键,以便在 irb 窗口中执行该行代码。
我在 R 中编码时使用了这种交互式开发风格,发现它非常方便。我很确定 emacs 和 SLIME 也可以让你像这样工作。 Ruby 和 TextMate 可以吗?
您必须创建捆绑命令和键盘快捷键才能执行此操作。
- 在 TextMate 中,转到“捆绑包”->“捆绑包编辑器”
- 在我们自己的 Bundle 中创建一个新命令。称之为“在终端中执行”
- 将“保存”设置为“无”,将“输入”设置为“选定的文本”,将“或”设置为“行”。
- 设置“要丢弃的输出”
- 在“激活”中选择您自己的快捷方式。我选择了Apple Shift U
- 将下面的命令粘贴到“命令”框中(格式给我带来了麻烦)
- 关闭 Bundle Editor,然后选择 Bundles -> Bundle Editor -> Reload Bundles
- 创建一个包含行“puts“Hello World””的新文档
- 在终端中打开 IRB
- 选择您刚刚在 Textmate 中编写的行,然后按键盘快捷键。
- 观看“Hello World”出现在 IRB 中。
命令:
#!/usr/bin/ruby
input = STDIN.gets
`osascript << EOF
tell application "Terminal"
activate
end tell
delay 1
tell application "System Events"
keystroke "#{input.gsub('"', '\"')}"
keystroke return
end tell
EOF`
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)