Autant que je sache, vim possède cette fonctionnalité car l'interface graphique vim (gvim) utilise le serveur graphique X. Je suis conscient que Vim non GUI peut également utiliser l' --servername
argument mais uniquement lorsque X11 est en cours d'exécution et également en y accédant . En revanche, neovim n'a pas de support graphique; pour cette raison, je ne pense pas que l' --servername
option puisse fonctionner (sauf si l'option aurait été entièrement réécrite d'une autre manière) car je trouverais étrange qu'un programme de console n'accède au serveur X11 qu'à cette fin.
Thomas Baruchel
la source
: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é "...Neovim remote est un script python pour contrôler les processus neovim. Il a le style vim --servername et --remote. C'est ce que j'utilise maintenant pour mon environnement de travail à plusieurs terminaux.
la source
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 laserverstart()
fonction: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 exempleserverstart('/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):
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 quehelp 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é.la source
:terminal
. Compte tenu de ces informations, c'était merveilleusement facile.