我想逐行评估一个bash脚本。我也可能想跳回来再次执行上一行。
如How execute bash script line by line?中所述,可以使用内置调试选项-x
,但这不是很方便,因为您没有以前和将来命令的概述。
为了在R中编写软件,我使用了RStudio。编辑器允许通过点击Ctrl
+ Enter
将当前行评估为R-Command。然后,结果显示在内置shell中,Cursor跳转到下一个命令。
是否有一个简单的文本编辑器(如gedit)允许将当前行发送到内置shell /控制台(bash,zsh,...)并在shell中查看evlauation的结果?
答案 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。简而言之:
~/.config/geany/geany.conf
并设置send_selection_unsafe=true
Edit > Preferences > Keybindings
(位于Format / Send selection to terminal
下)实际上,您不必选择要发送的代码。到目前为止,我无法找到如何指示geany之后跳到下一行。