八度音中的异步和同步之间的区别?

时间:2013-08-12 16:53:08

标签: octave

我在八度音阶中遇到了编辑问题并在之前发布了一个问题:Octave output buffer completely messed up on OS X. How to fix?

我解决问题的方法是使用edit mode sync而不是默认async。但是,我真的不明白asyncsync之间的区别是什么?为什么当使用async时,键盘会向八度音程和编辑器发送信号,以便输出缓冲区搞砸了?如果可能的话,我们可以为macbook使用异步模式吗? (因为我的linux计算机上的一切正常)

1 个答案:

答案 0 :(得分:0)

根据`edit()'的帮助文字:

  

[...]异步模式(编辑器在后台启动,Octave继续)或同步模式(Octave等待编辑器退出)。 [...](另见" system")。

它基本上定义了启动其他进程后发生的事情(在您的情况下为emacs)。想一想edit()是如何设计使用的。您处于Octave提示符并使用它在文本编辑器中打开一个函数文件。您仍在使用Octave提示时对文件进行更改。这是async模式。

但是,您的文本编辑器没有GUI。启动emacs时,可以在调用它的同一终端窗口中使用它。因为您将其设置为async,所以您最终会在同一终端中同时使用emacs和Octave交互式。将其设置为sync意味着在您退出emacs之前,Octave只是等待,因此它不会搞砸正在显示的内容。

你可以:

  1. 使用带GUI的文本编辑器;
  2. 更改您的EDITOR命令以打开一个新终端,并在那里启动您的CLI emacs。例如,如果您使用的是gnome-terminal,则可以将其设置为gnome-terminal -e emacs %s;
  3. 将模式更改为同步。