如何将当前代码行发送到 gedit 2013 中的终端输入?

如何将当前代码行发送到 gedit 2013 中的终端输入?

我刚刚切换到 ubuntu。我想使用 R,并且正在使用 gedit 编写 R 脚本。当我使用 Mac 时,我可以逐行运行 R 脚本。但是,我不知道现在如何在 gedit 中执行此操作。

我注意到有人说这是不可能的如何将 gedit 中的当前行发送到终端?,但那是两年前的事了。最近我在 youtube 上看到有人这么做。 http://www.youtube.com/watch?v=4jJDkcEs5yw

答案1

你引用的 YouTube 视频似乎指向博客文章解释了如何操作。这篇文章不是英文的,但写得很好,所以你可以推断出要采取的步骤。我刚刚试了一下,它就像视频中展示的那样对我有用。为了不只是发布链接,这里是简要说明:

  1. 安装所需的软件包:apt-get install gedit-plugins xdotool
  2. 在 gedit 中,访问“工具”->“管理外部工具”菜单,并创建两个新工具。我将我的工具命名为“将行发送到上一个窗口”和“将选择发送到上一个窗口”。两者的代码相同,如下所示。按如下方式配置每个命令
    • 为了“发送线路……”
      • 捷径:Alt+L
      • 节省:没有什么
      • 输入:当前行
      • 输出:没有什么
      • 适用性:*所有文件/所有语言*
    • 为了“发送选择……”
      • 捷径:Alt+B
      • 节省:没有什么
      • 输入:当前选择
      • 输出:没有什么
      • 适用性:所有文件/所有语言

代码

#!/bin/sh

read line
xdotool key alt+Tab
xdotool sleep 0.2
xdotool type "$line"
xdotool key Return
xdotool key alt+Tab

请注意,示例代码使用了cat - > /tmp/runprev_meh.txt; line=$(cat /tmp/runprev_meh.txt)read line但我认为它更清晰并且不会引入任何问题。

答案2

一个好方法是使用 gedit 中的外部工具。

执行以下操作:gedit -> 编辑 -> 首选项 -> 插件 -> 检查外部工具

然后:gedit -> 工具 -> 管理外部工具

这里:单击“+”按钮添加工具。

名称:运行行
快捷键:Alt+L(或任何您觉得舒服的键)
保存:无
输入:当前行
输出:显示在底部窗格中

将此代码放入编辑部分:

#! /usr/bin/env python
import sys
import commands

line = sys.stdin.read()
print commands.getoutput(line)

名称:运行选择
快捷键:Alt+B(或任何您觉得舒服的键)
保存:无
输入:当前选择
输出:在底部窗格中显示

将此代码放入编辑部分:

#! /usr/bin/env python
import sys
import commands

line = sys.stdin.read().replace("\r","")
print commands.getoutput(line)

相关内容