在启动时自动调用ghci中的命令

And*_*man 2 haskell ghci

我每次运行时都会手动ghci调用该:set prompt "ghci> "命令.它可以自动发生,而不是手动发生吗?

jub*_*0bs 5

prompt在其中一个配置文件中定义

只需将GHCi命令放在适当的GHCi配置文件中(例如,$HOME/.ghci在Unix系统上的用户级GHCi配置文件中):

:set prompt "ghci> "
Run Code Online (Sandbox Code Playgroud)

如果该文件尚不存在,请创建该文件.然后,您不必在每次启动GHCi后手动运行该命令.有关GHCi配置文件的更多详细信息,请访问此处.

顺便说一下,另一个时髦的提示是?>.

别忘了也自定义prompt-cont(继续提示)

正如指出的kqr 在他的评论,如果你激活GHCI的多输入模式(:set +m),您可能还需要重新定义,一致性,prompt-cont-or prompt2之前v8.2.1,如指出此评论哪位相当于延续提示.所以你的.ghci文件应该包含以下两行:

:set prompt "?> "
:set prompt-cont "?| "
Run Code Online (Sandbox Code Playgroud)

否则,将使用默认的延续提示符(Prelude|).

在GHCi中测试

?> :set +m
?> let fact 0 = 1
?|     fact n = n * fact (n - 1)
?| 
(0.01 secs, 1547336 bytes)
?> fact 5
120
Run Code Online (Sandbox Code Playgroud)

  • 从GHC版本8.2.1起,`prompt2`已被`prompt-cont`取代。 (2认同)