如何将 TextMate 中的一行发送到在终端窗口中运行的 irb 进程?

2024-02-12

我经常在打开 TextMate 窗口并在其旁边的终端窗口中运行 irb 进程的情况下进行编码。我希望能够在 TextMate 中按下一个按键序列,该序列执行以下操作:

  1. 复制当前选择,如果没有,则复制当前行。
  2. 将其粘贴到运行 irb 的最上面的终端窗口中。
  3. 按 Enter 键,以便在 irb 窗口中执行该行代码。

我在 R 中编码时使用了这种交互式开发风格,发现它非常方便。我很确定 emacs 和 SLIME 也可以让你像这样工作。 Ruby 和 TextMate 可以吗?


您必须创建捆绑命令和键盘快捷键才能执行此操作。

  1. 在 TextMate 中,转到“捆绑包”->“捆绑包编辑器”
  2. 在我们自己的 Bundle 中创建一个新命令。称之为“在终端中执行”
  3. 将“保存”设置为“无”,将“输入”设置为“选定的文本”,将“或”设置为“行”。
  4. 设置“要丢弃的输出”
  5. 在“激活”中选择您自己的快捷方式。我选择了Apple Shift U
  6. 将下面的命令粘贴到“命令”框中(格式给我带来了麻烦)
  7. 关闭 Bundle Editor,然后选择 Bundles -> Bundle Editor -> Reload Bundles
  8. 创建一个包含行“puts“Hello World””的新文档
  9. 在终端中打开 IRB
  10. 选择您刚刚在 Textmate 中编写的行,然后按键盘快捷键。
  11. 观看“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(使用前将#替换为@)

如何将 TextMate 中的一行发送到在终端窗口中运行的 irb 进程? 的相关文章

  • 如何使用 new 干净地初始化 Ruby 中的属性?

    class Foo attr accessor name age email gender height def initalize params name params name age params age email params e
  • 什么决定了可变类上的 bang 方法是否返回“nil”?

    通常 可变类上的 bang 方法 例如String Array or Hash return nil当没有进行任何修改时 但一些Array爆炸方法 即collect map reverse rotate shuffle sort sort
  • 将 gmaps4rails 与 https/SSL 结合使用

    我是 gmaps4rails 的忠实粉丝 它使向我们的网络应用程序添加地图变得非常容易 我现在遇到的唯一问题是 如果您在 https 页面上使用它 则会收到有关混合内容的安全警告 谷歌地图API确实支持https 所以我认为这只是将脚本引用
  • 如何在 Rails 应用程序中删除 URL 的尾部斜杠? (在 SEO 视图中)

    为了避免内容重复 我希望避免通过多个 URL 带或不带尾部斜杠 访问我的网站页面 目前 URL catalog product 1 and catalog product 1 导致同一页面 我的目标是将第二个 URL 重定向到第一个 当然是
  • Mac OS Sandbox:从助手启动主应用程序

    我在沙箱中创建了一个应用程序 它使用助手在登录时启动 如所示here http blog timschroeder net 2012 07 03 the launch at login sandbox project 它工作正常 但以下消息
  • OS X 对 /usr/local/lib 的权限被拒绝

    我正在寻找有关权限问题的任何建议 直觉 线索 答案 自从我切换到新的 Macbook Pro 以来 这个问题一直困扰着我 这就是困境 某些程序在安装期间复制 usr local lib 下的库 并且在运行这些程序时出现崩溃 我认为这与此文件
  • 如何检测浏览器中操作系统是否处于深色模式?

    如同 如何检测 OS X 是否处于深色模式 https stackoverflow com questions 25207077 how to detect if os x is in dark mode 仅适用于浏览器 有没有人发现是否有
  • 查找使用 AppleScript 安装的 Mac OSX 版本

    如何使用 AppleScript 查找我的 Mac 上安装的 OSX 版本 我想以编程方式安装应用程序并根据版本运行不同的 pkg 文件 Thanks 以下是如何使用内置函数在 AppleScript 中获取 OSX 版本 set sysi
  • Mac-catalyst - Mac Catalyst 应用程序的最小窗口大小

    Mac Catalyst 允许调整窗口大小 有什么方法可以为 Mac Catalyst 应用程序提供最小窗口大小 只需将以下代码块添加到您的application didFinishLaunchingWithOptions方法 对于UIKi
  • NSCF 数组越界?

    我有一个相当简单的应用程序 使用 Core Data 和几个数组控制器 在 IB 中 除了 xcdatamodel 文件之外 没有它们的代码文件 当我运行应用程序时 我在日志中收到以下错误 应用程序仍然运行 但在转到 文件 gt 新文档 之
  • 升级到 Yosemite 后 Apache 配置损坏

    昨天我升级到 Yosemite 现在我的 Web 开发本地配置不再起作用 我设法在下面设置了一个 userdir Users user public html我可以通过以下方式访问所有网站localhost user websitename
  • 如何静默启动Sinatra + Thin?

    我有一个 Sinatra Base webservice 我想从命令行 Ruby 程序启动它 所以我有这个 command line program file require mymodule server puts Running on
  • 在 SwiftUI 文档应用程序中,如何从函数内保存文档

    当前版本的 Xcode 版本 12 5 1 为 macOS 的基于文档的应用程序提供了一个模板 提供以下文档模型 struct MyDocument FileDocument var text String init text String
  • 正则表达式匹配组,但组成员除外

    因此 有许多正则表达式可以匹配特定的组 如下所示 Any character except a newline m Any character the m modifier enables multiline mode w A word c
  • Mac 上的 PythonXY?

    如何在 Mac OS X Lion 上安装 Python 我开始了 它应该能够通过 macports 但无论如何我找不到 mac ports 网站上所述的端口 pythonXY 我对 MAC 和 pythonXY 都不太了解 但在 pyth
  • 如何将 current_user 传递给 Sidekiq 的 Worker

    我正在努力通过current user or User find 1 到工作模块 但在 sidekiq 的仪表板中出现错误 localhost 3000 sidekiq retries NoMethodError 未定义方法 支持 字符串
  • Rube.exe:Babun 中没有这样的文件或目录

    我正在尝试在 Babun 中安装 ruby gems 以便我可以安装 sass 和 compass 但不断收到错误 C RailsInstaller Ruby2 1 0 bin ruby exe No such file or direct
  • 如何在 Rails 模型中获取 request.uri?

    request request 当我在控制器中写这个时 它就会起作用 但是如果我在模型或应用程序控制器中需要这个变量 我该怎么办 模型存在于 Web 请求的上下文之外 您可以在 irb 中实例化它们 可以在延迟作业或脚本等中实例化它们 如果
  • 对 NSTextField 设置限制

    我需要为文本字段设置字符限制 我跟着这个answer https stackoverflow com a 830019 913571我能够设定一个限制 但现在当我按下回车键时 所有字符都被清除了 什么地方出了错 BOOL isPartial
  • 未定义符号:尝试运行瘦网络服务器时的 SSLv2_method

    我已经用 rvm 安装了 OpenSSL rvm pkg install openssl 然后做了rvm reinstall 1 9 3 with openssl dir rvm path usr 当我尝试运行瘦网络服务器时 出现以下错误

随机推荐