Notes: I only use neovim for simple quick edits, so basic syntax highlighting and export-on-save are enough. Instant preview, cross-jump, hover tips, etc. are helpful, but not necessary to me.
Tinymist bundles several features, including a Typst LSP and preview functionality.
nvim-lspconfig will connect to the LSP, and should enable features such as syntax highlighting. I’m not sure about
chomosuke/typst-preview.nvim uses the preview functionality only. Currently, it spawns a separate tinymist process and cannot connect to an already-running LSP (in contrast to the VSCode extensions, which uses the same tinymist process for both).
that is, both provide distinct and independent functionality. I don’t know about kaarmu/typst.vim.
typst-preview.nvim uses tinymist in standalone mode, which means it runs preview server in “compatible mode”. Since preview is merged in the language server, they could actually spawn a preview server thread by calling some LSP commands instead of spawning a process to use less system resource, but we should negotiate a stable interface of the related lsp commands before doing so.