L'éditeur Vim, comment puis-je enregistrer un fichier dans un autre répertoire

41

Je suis nouveau dans le monde d'ubuntu et de l'éditeur vim.
Ma question est la suivante: comment enregistrer un fichier sur mon hôte local à l’aide de vim?
Lorsque j'utilise la commande, :wj'enregistre le fichier, mais où? Et comment puis-je changer l'emplacement du fichier /var/www/?

berga007
la source
@ ElderGeek, cela a fonctionné à merveille. Si vous répondez de la sorte, je l'accepterai.
bruyère

Réponses:

49

Vous pouvez entrer :pwdpour afficher le répertoire de travail actuel. C’est là que votre fichier sera sauvegardé si vous entrez simplement :w filename. Vous pouvez changer le répertoire de travail avec :cd path/to/new/directory. Vous pouvez également entrer le chemin complet de l’emplacement où vous souhaitez enregistrer le fichier à l’aide de la commande write, par exemple :w /var/www/filename.

Camsolo
la source
18

La wcommande vim supporte en paramètre le nom de fichier, qui peut contenir un chemin, donc

:w /var/www/filename

devrait fonctionner, à condition que vous ayez le droit d'écrire dans ce répertoire.
Vous pouvez également utiliser la complétion par tabulation pour créer le chemin.

La commande nue :wne fonctionne que si vous avez déjà commencé à vimlui donner un nom de fichier.

enzotib
la source
1
Oui, quand j'ai utilisé la commande: w, j'avais déjà donné un nom au fichier ... J'ai essayé de sauvegarder le fichier dans mon répertoire localhost en utilisant le conseil que vous m'avez donné et cela a fonctionné! Merci beaucoup, si un jour je pouvais t'aider je n'hésiterais pas!
berga007
11

Accédez au répertoire dans lequel vous souhaitez enregistrer le nouveau fichier, ouvrez le fichier que vous souhaitez modifier, puis utilisez

Esc:sav newfilenameou Esc:w newfilenamecela devrait fonctionner pour vous.

Pour plus d’informations sur les astuces avec vim, vous pourriez trouver cette aide utile.

Modifier comme demandé.

:sav enregistre le fichier sous un nouveau nom et ouvre le nouveau fichier dans Vim.

Remarque: sav ne fermera pas le tampon initial, il le cachera. Par défaut, les tampons masqués sont déchargés.

:w enregistrez le fichier sous un nouveau nom, mais conserve l'original ouvert pour le modifier.

Modifier la source: https://stackoverflow.com/questions/4980168/how-to-save-as-a-new-file-and-keep-working-on-the-original-one-in-vim

Elder Geek
la source
Vous devriez probablement expliquer directement dans la réponse la différence entre :savet :w, il est très utile de savoir.
Matteo Italia
1
@ MatteoItalia bon point. Terminé.
Elder Geek
Parfait, voté!
Matteo Italia
6

Je crois que vous voulez essayer quelque chose comme ça. (n'oubliez pas la double barre oblique à la fin.)

:w /var/www//%:t
le démon
la source
Oui, j'ai essayé quelque chose comme ça et ça a fonctionné. Merci
berga007
1
@ berga007 s'il vous plaît ne postez pas de commentaire de remerciement, acceptez plutôt la réponse .
Guntbert
6

Dans Vim, quel que soit l'endroit où le fichier est actuellement enregistré, vous pouvez indiquer le chemin d'accès au nouvel emplacement où vous souhaitez l'enregistrer. Par exemple, pour enregistrer le fichier sur votre bureau:

appuyez sur escpour passer en mode normal, puis tapez

:w ~/Desktop/filename

Cela fonctionne pour tout chemin où vous êtes autorisé à écrire sur le répertoire. Si vous voulez enregistrer quelque part où vous n'avez pas le droit d'écriture, vous pouvez faire ceci:

:w !sudo tee /path/to/my/filename
Zanna
la source
3

Si vous avez créé un nouveau fichier avec Vim, appuyez sur la séquence de touches Esc- :- w- q- Enterpour enregistrer le fichier à l'emplacement actuel où vous avez lancé Vim. Par exemple, si vous étiez à / home / $ USER, le fichier sera créé dans ce répertoire. Le moyen le plus simple est de lancer vim en utilisant:

vim myFile.txt

Cela créera un nouveau fichier ou écrasera un fichier dont le nom se trouve myFile.txtà l'emplacement actuel.

GTRONICK
la source
2

Sur votre lanceur, la deuxième icône est une image d’un classeur. Ceci s'appelle Nautilus (gestionnaire de fichiers d'Ubuntu).

Sélectionnez Nautilus et votre répertoire personnel devrait s’ouvrir. Vous devriez voir votre fichier là-bas.

Faites un clic droit sur votre fichier et sélectionnez «Copier». Ouvrez votre email, composez un nouveau message, cliquez sur le corps du message. Puis cliquez avec le bouton droit de la souris et cette fois sélectionnez «Coller».

Ces instructions fonctionnent pour Ubuntu 14.04 et 16.04 mais je ne sais pas si 12.04 inclut Nautilus.

WinEunuuchs2Unix
la source
2
12.04 comprend Nautilus. Voir ici: packages.ubuntu.com/search?keywords=nautilus
wjandrea
3
-1 Cette réponse n'a rien à voir avec Vim. Je pense que vous avez posté une réponse légitime sur la mauvaise question.
Wjandrea
@wjandrea Au moment où j'ai écrit ceci sur mon téléphone, le PO avait une question en plusieurs parties "ou peut-être l'envoyer par mail à moi-même". Cette réponse indique à OP comment gérer la partie email de la question. Merci d'avoir commenté pourquoi vous avez voté à la baisse. Ce n'est pas tout le monde qui fait preuve de courtoisie.
WinEunuuchs2Unix