如何通过以下方式更改WinGHCi编辑器:set editor?

时间:2013-08-05 18:09:06

标签: haskell ghci

当我输入:edit时,我想使用Notepad ++而不是Notepad作为GHCi调用的编辑器。有谁知道如何做到这一点?我试过了

:set editor C:\Program Files (x86)\Notepad++
:set editor "C:\Program Files (x86)\Notepad++"

但这些都不起作用。

感谢您的帮助!

4 个答案:

答案 0 :(得分:11)

编辑器是String,因此您需要将\作为\\转义,如下所示:

:set editor "C:\\Program Files (x86)\\Notepad++"

但它对于FilePaths是unix / windows不可知的,所以你可以选择这样做

:set editor "C:/Program Files (x86)/Notepad++"

作为旁注,输入:e而不是:edit的速度更快;如果只有一种可能性,ghci将从:ed这样的子字符串中推断出你的意思。

答案 1 :(得分:3)

刚遇到这个。最好的答案是正确的,但我只能通过在命令行中添加-multiInst来实现这一点,即:

:set editor "C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst

或只是

"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst

在WinGHCi的设置对话框中打开一个新的记事本++实例:e。

答案 2 :(得分:2)

我猜想Notepad ++应该在你的$ PATH上。如果你可以从一个新开的终端运行Notepad ++,那么你就是好的。然后在ghci中使用:set editor Notepad++

答案 3 :(得分:0)

如果要永久使用自己喜欢的编辑器,可以在系统环境变量中添加一个名为EDITOR的新系统环境变量。

注意:

  1. 您应该将其添加到系统环境变量中,而不是用户的环境变量中。
  2. EDITOR应该全部大写。
  3. 最重要的是,此变量的值应为:
    • a使用双反斜杠。
    • b保留引号! (例如:“ C:\ Users \\ AppData \ Local \ Programs \ Microsoft VS Code”,我认为其他变量可能没有或需要此引号,但在这种情况下需要)。