web-dev-qa-db-fra.com

Vim editor, comment enregistrer un fichier dans un autre répertoire

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 :w, je sauvegarde le fichier, mais où? Et comment puis-je changer l'emplacement du fichier en /var/www/?

39
berga007

Vous pouvez entrer :pwd pour 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. Ou vous pouvez 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.

46
camsolo

La commande wvim prend 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 :w ne fonctionne que si vous avez déjà lancé vim en lui attribuant déjà un nom de fichier.

17
enzotib

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

Esc:sav newfilename ou Esc:w newfilename Cela devrait fonctionner pour vous.

Pour plus d'informations sur les astuces avec vim, vous trouverez peut-être cela utile aide-mémoire .

Modifier comme demandé.

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

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

:w enregistre le fichier sous un nouveau nom mais conserve l'original ouvert pour modification.

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

9
Elder Geek

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:

presse esc pour 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
5
Zanna

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

:w /var/www//%:t
4
thedemon

Si vous avez créé un nouveau fichier avec Vim, en appuyant sur la séquence de touches Esc-:-w-q-Enter enregistrera 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 nommé myFile.txt à l'emplacement actuel.

2
GTRONICK

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-ci sélectionnez "Coller".

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

1
WinEunuuchs2Unix