是否有编辑器允许将当前行评估为bash命令?

时间:2015-02-19 09:19:50

标签: linux bash shell editor eval

我想逐行评估一个bash脚本。我也可能想跳回来再次执行上一行。

How execute bash script line by line?中所述,可以使用内置调试选项-x,但这不是很方便,因为您没有以前和将来命令的概述。

为了在R中编写软件,我使用了RStudio。编辑器允许通过点击Ctrl + Enter将当前行评估为R-Command。然后,结果显示在内置shell中,Cursor跳转到下一个命令。

是否有一个简单的文本编辑器(如gedit)允许将当前行发送到内置shell /控制台(bash,zsh,...)并在shell中查看evlauation的结果?

2 个答案:

答案 0 :(得分:2)

它没有内置于Emacs,但它很容易做到。

(defun shell-eval-line (pos)
  "Evaluate the line around position as a shell command.
In interactive mode, use the cursor's position."
  (interactive "d")
  (save-excursion
    (goto-char pos)
    (shell-command (buffer-substring
            (line-beginning-position) (line-end-position))) ))

绑定到您喜欢的键(C-c !可能吗?)并继续。

(next-line)之外添加(save-excursion)以使其在完成后前进到下一行,或者在其周围创建一个简单的宏来调用该函数并跳转到下一行

答案 1 :(得分:1)

您也可以使用编辑器geany执行此操作。在他们的Wiki中,他们有一个detailed instruction。简而言之:

  • 安装geany
  • 打开文件~/.config/geany/geany.conf并设置send_selection_unsafe=true
  • 重新启动geany
  • 设置键绑定Edit > Preferences > Keybindings(位于Format / Send selection to terminal下)

实际上,您不必选择要发送的代码。到目前为止,我无法找到如何指示geany之后跳到下一行。