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 --servername
dans 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:servername
pour 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 --serverstart
n'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-remove
commande 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 rpc
pour plus de détails sur l'API RPC de Neovim.
NB :help remote.txt
ainsi 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-clientserver
semble 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é "...