如何在 Go 终端的一部分中使用 Vim

kth*_*oto 5 vim tui go iterm2

我正在尝试使用 Go 创建 TUI 应用程序。
我会让这个应用程序像仪表板一样。
我想使用 Vim 作为终端(iTerm2)屏幕的一部分。

1

我想使用本地 vim env(NeoVim、本地 vimrc 和插件)。

如何在 go 中使用本地 vim?
或者有没有可以使用本地vim的go库?

我的英语不太好,所以如果有什么不清楚的地方请随时问我。
谢谢。

小智 1

你想做的事情非常困难,我建议不要这样做。

像您所描述的那样嵌入终端应用程序的唯一方法是在应用程序中本质上实现终端模拟器并在应用程序中显示其输出。有一些库可以使这变得更容易 - 例如libvterm,vim 使用它来实现:terminal命令 - 但即便如此,这样做也会很困难,特别是如果您想在嵌入式编辑器中支持高级终端功能(例如鼠标支持) 。

在终端应用程序中提供编辑器的更常见习惯是按需将编辑器作为子进程启动,使其在编辑文件时“接管”整个终端。一旦编辑器退出,您的应用程序就可以恢复。