您可以使用BufWrite自动命令在vim中运行任意shell命令:
例如,把它放在你的~/.vimrc:
au BufWrite *.hs !echo % >> ~/saves.txt
Run Code Online (Sandbox Code Playgroud)
echo <CURRENT FILENAME> >> ~/saves.txt每次保存haskell文件时都会运行此命令.
因此,这是一种触发外部脚本的简便方法.
现在您可以编写一些iterm脚本来将命令转发到其他终端.就像是:
tell my_ghci_terminal
write text ":r\n"
end tell
tell my_hlint_terminal
write text "<RUN HLINT ON WHATEVER>"
end tell
Run Code Online (Sandbox Code Playgroud)
因此,您可以使用vim自动命令触发相应的iterm脚本(传递当前文件名,以便脚本可以告诉ghci和hlint要处理哪个文件).
您可能想要打开和关闭它(您可能不希望为每个haskell文件执行此操作),因此请考虑将功能包装在vim函数中,以便您可以切换它(以及设置参数以确定iterm应该如何找到你的ghci和hlint终端).
https://github.com/ndmitchell/ghcid支持文件更改时自动重新加载 GHCi。
例如:ghcid '--command=stack ghci' --test=main
| 归档时间: |
|
| 查看次数: |
3370 次 |
| 最近记录: |