gpt4 book ai didi

emacs - 如何使用 emacs 允许在长 gnuplot 命令中进行注释?

转载 作者:行者123 更新时间:2023-12-01 13:55:48 28 4
gpt4 key购买 nike

最近经常使用Gnuplot,经常遇到以下挫折:无法注释掉零件的多行绘图命令,如果你这样做,你会得到一个 函数来
绘制预期的
错误。这是一个例子*:

plot \
"datafile1.dat" u 1:2 w lp,\
# "datafile2.dat" u 1:2 w lp,\ <---- ERROR! cannot comment here
"datafile3.dat" u 1:2 w lp,\
"dummy" u 1:2

这很烦人,因为我想一次绘制多条线并且然后在我分析数据的时候评论一些,目前我需要删除或者在绘制之前移动我不感兴趣的线然后撤消做不同比较之前的原始状态。问题,如前所述here , 就是注释掉续行注释输出整个命令。

我正在使用 gnuplot-mode 通过 emacs 编辑我的脚本并且有将 C-c C-c 绑定(bind)到 gnuplot-run-buffer

(add-hook 'gnuplot-mode-hook
(lambda ()
(local-set-key (kbd "C-c C-c") 'gnuplot-run-buffer)))

我想可以编写一个函数将脚本复制到临时缓冲区但删除注释行(或者可能只是注释长命令中的行)然后调用 gnuplot-run-buffer临时缓冲区。我的 elisp 不是很好,所以我需要一段时间弄清楚如何很好地实现这一点,我认为这会很有用尽管如此,我还是发布了这个问题

* 最后一行在那里,所以我不必删除尾随最后一行的反斜杠。 dummy 文件不存在,所以它是只是忽略而不是绘制。

最佳答案

以下建议删除注释行。如果您注释掉最后一行情节,它不会处理多余的逗号。但是,您写道您不介意。

(defadvice gnuplot-send-string-to-gnuplot (before ignore-comments activate)
"Ignore lines starting with #."
(setq string (with-temp-buffer
(insert string)
(goto-char (point-min))
(delete-matching-lines "^[[:blank:]]*#")
(buffer-string))))

关于emacs - 如何使用 emacs 允许在长 gnuplot 命令中进行注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20371689/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com