Comme mentionné, toutes les fonctionnalités client-serveur ont été supprimées dans Neovim. En effet, ils utilisent la mémoire partagée X11 et Neovim a supprimé le support X11.
Cependant, si j'utilise :help --servernamedans Neovim je me retrouve dans la documentation de la serverstart()fonction:
serverstart([{address}]) serverstart()
Opens a named pipe or TCP socket at {address} for clients to
connect to and returns {address}. If no address is given, it
is equivalent to:
:call serverstart(tempname())
$NVIM_LISTEN_ADDRESS is set to {address} if not already set.
--servername
The Vim command-line option --servername can be imitated:
nvim --cmd "let g:server_addr = serverstart('foo')"
Cela fera une prise /tmp/; voir :echo v:servernamepour le chemin. Il est probablement plus utile d'utiliser une adresse plus déterministe (par exemple serverstart('/tmp/nvim-remote'); bien que vous souhaitiez probablement envelopper cela dans une fonction, car elle --serverstartn'ajoutera pas de nombre comme le fait Vim si elle existe déjà).
Vous pouvez envoyer des commandes avec l'API RPC. Pour autant que je puisse trouver, il n'y a aucun moyen d'envoyer des commandes à cela avec seulement Neovim (meh). Vous devrez installer l' un des clients API . Par exemple avec le client API de référence Python (qui est également utilisé par Neovim remote):
import neovim
nvim = neovim.attach('socket', path='/tmp/nvim-remote')
try:
nvim.command(':e foo')
finally:
nvim.quit()
Vous pouvez probablement envoyer les mêmes octets avec une echo ... >> /tmp/nvim-removecommande shell, mais l'API RPC utilise un protocole non textuel quelque peu banal ("MessagePack RPC") et déterminer quels octets envoyer exactement était un peu trop d'effort pour ce post; -)
Voir :help rpcpour plus de détails sur l'API RPC de Neovim.
NB :help remote.txtainsi que de nombreux autres éléments d'aide (tels que help server2client()et bien d'autres) existent toujours dans Neovim, mais rien de tout cela ne fonctionne. Il semble que celui qui a supprimé cette fonctionnalité a fait un travail assez bâclé.
:help x11-clientserversemble le confirmer: "La communication entre le client et le serveur passe par le serveur X. [..] Un Vim non GUI avec accès à l'affichage X11 (| xterm-clipboard | activé), peut également servir de serveur de commandes si un nom de serveur est explicitement donné "...