Actuellement, je le fais en SSHing sur un serveur et en exécutant Vim sur le serveur. Cela a l'avantage de ne pas avoir à gérer une syntaxe lourde d'ouverture de fichiers à partir d'un serveur distant via SCP et, plus important encore, de pouvoir naviguer très rapidement dans le système de fichiers du serveur. D'un autre côté, il a un décalage, ce qui rend l'édition difficile.
Quelle est la manière canonique d'éditer de nombreux fichiers distants?
networking
files
vim
jcora
la source
la source
vim
présente un retard, cela indique probablement un problème avec votre réseau plutôt que votre flux de travail.ssh [email protected] vim /etc/somefile
(noter l'absence de;
).Réponses:
Vous pouvez utiliser SSHFS pour monter une maison distante dans un dossier local. A l'avantage d'utiliser l'infrastructure actuelle et la faible latence du vim local.
la source
Vous pouvez éditer à distance avec un vim ou un gvim local.
scp
est un protocole de copie sécurisée . Il s'authentifie de la même manière quessh
, donc votre clé ssh doit être disponible, etc. Il existe différents autres protocoles supportés (voir:help netrw-externapp
) mais scp est probablement le plus simple si vous utilisez déjà ssh au même endroit.Vous pouvez parcourir les répertoires de cette façon, assurez-vous simplement que le chemin se termine par un
/
. Sinon, vim le transforme en un nouveau fichier.:w
écrit automatiquement le fichier via scp. Si l'écriture échoue pour une raison quelconque, vous devriez le remarquer, car ce sera une sorte de "shell retourné 1" dans la barre d'état. Cependant, méfiez-vous: si vous ne le remarquez pas , vim ne sait pas et cela peut avoir des conséquences - par exemple, si vous quittez maintenant, cela ne vous avertira pas. Il est particulièrement facile de rater cela si vous en utilisez:wa
beaucoup. | C'est la seule mise en garde que j'ai.Pour les documents officiels, voir
:help netrw
.la source
J'utiliserais rsync. Il ne transfère que ce qui a changé. Ainsi:
puis modifiez les fichiers localement à votre guise. Zéro décalage. Vous pouvez inspecter tous les fichiers avant de les valider:
Je suppose que vous créez d'abord votre répertoire local et
cd
dans cela. Vous pouvez également lui faire gérer la suppression des fichiers, mais soyez très prudent avec cela, car l'exécution de cela dans le mauvais répertoire pourrait nuke toute une arborescence de répertoires.Ce que je fais, c'est que je l'exécute en "mode sec" d'abord, en utilisant le drapeau 'n', comme ceci:
Il rendra compte de ce qu'il aurait fait, s'il avait été réel. Si je suis satisfait de la liste signalée, je l'exécute à nouveau et je supprime l'indicateur 'n'.
rsync est très efficace. Il existe également divers autres drapeaux. C'est assez sophistiqué.
la source
Peut-être que vous êtes nommé de la manière la plus appropriée - façon SSH, mais toujours en fonction de la nature même des fichiers modifiés, vous pouvez allouer une petite partition, la rendre partagée et y placer les fichiers, bien sûr si la politique de sécurité permet cette action. Pour cette suggestion, vous pouvez utiliser NFS ou Samba plus facilement, mais la modification du fichier de test est une conception générale sous UNIX et il se peut que vous deviez le conserver comme vous le faites actuellement.
la source