我只要拿到Fsi.exe按预期工作在Mac OS X(雪豹)与单声道的。我只注意到的古怪行为与切一点点,粘贴,我想知道是否有人看到了这一点。

我已经定义了以下别名FSI:

alias fsi='ledit mono ~/FSharp-1.9.7.8_2/bin/fsi.exe --gui-'

ledit是Ocaml程序编写工具,它似乎正确地使键盘输入工作 - 没有它,FSI只是似乎永远不会读取输入。要明白我的意思,尽量不Fsi.exe和ledit输入

let square x = x * x;;

无ledit,它只是似乎永远不会解析输入。我的意思是永远不会回来了“>”提示符下输入字符串之后。随着ledit,在“>”提示符回来马上。

当然--gui-保持FSI从显示对缺乏System.Drawing中等所有消息。

所以,这一切似乎来的工作。怪异的是当我复制和粘贴代码到FSI,某些字符似乎重复了一遍又一遍。它似乎被我贴在缓冲区的大小进行调节。当我粘贴小片段似乎是没有问题的。但是,如果我在更大的块粘贴,有这个怪胎。

如果我执行以下操作:

open System.IO;;

然后粘贴FSI此代码段:

let buildFileList basepath filespec =
    seq {
        yield! Directory.GetFiles(basepath, filespec, System.IO.SearchOption.AllDirectories)
        }

这工作正常。但是,如果我复制并与该结束码更大的块粘贴,它重复的部分达到屈服!一遍又一遍地。这似乎是某种联系FSI试图解析的代码,因为它是在被粘贴因为粘贴相同的代码将导致出现解析错误(如FS0010),当它在一个长块的尾部粘贴之,但不会导致一个错误,当它的孤立。

如果我#load整个文件,它正确地解析,以及让我觉得我的代码就可以了。

这个古怪在复制/粘贴似乎既没有在命令行上ledit发生。我不介意研究这个问题我自己,但我有点难倒了约,我应该与此进行。我是从gVim的复制,如果有差别,但任何人有任何想法,我可能会在尝试的这种古怪行为的原因进行隔离?我想我可以采取复制到文本编辑,然后再试图复制到FSI但除此之外,任何想法的额外的步骤?

要的底线是:有没有其他人看到这种奇怪的行为?如果不是这样,我大概会如何想的这种古怪行为的原因进行隔离有什么建议?

有帮助吗?

解决方案

当我遇到我的Mac上这种行为,我走了不同的路线。代替使用ledit的,我就业fsi--readline选项,可见以下(其中${FSHARP}是我的安装路径)。

mono ${FSHARP}/fsi.exe --readline+ --gui-

您可能还需要检查你的终端设置。我的终端(例如)被声明为xterm-color,我都不选中delete sends CTRL-H。我认为这些都是唯一的相关设置,但不要抱我吧。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top