Comment copier un fichier dans netrw?


15

Le répertoire de travail actuel est ./A/B/. Un document vide est ouvert lorsque je tape vim, et le netrw est ouvert avec la commande :e.La fenêtre est divisée par vs., et je peux naviguer vers le répertoire de niveau supérieur, c'est-à-dire ./A/. J'aimerais maintenant copier un fichier a_file.jpgde ./A/B/à ./A/.

J'ai essayé yyle fichier cible et pdans la fenêtre cible (répertoire), mais cela n'a pas atteint mon objectif.

Existe-t-il un moyen d'atteindre l'objectif sans installer de plugins supplémentaires?


1
Essayez ce qui suit: appuyez mtsur le répertoire cible dans lequel vous souhaitez faire une copie d'un fichier (pour le marquer; le chemin vers le dossier doit apparaître dans la bannière après Copy/Move Tgt:), appuyez mfsur le fichier que vous souhaitez copier pour le marquer comme bien, puis appuyez sur mcpour effectuer la copie.
saginaw

Réponses:


18

Vous ne pouvez pas utiliser y, petc., pour copier des fichiers dans netrw - il est livré avec ses propres commandes. Voir :h netrw-mc:

MARKED FILES: COPYING                                           netrw-mc {{{2
            (See netrw-mf and netrw-mr for how to mark files)
                      (Uses the global marked file list)

Select a target directory with mt (netrw-mt).  Then change directory,
select file(s) (see netrw-mf), and press "mc".  The copy is done
from the current window (where one does the mf) to the target.

If one does not have a target directory set with netrw-mt, then netrw
will query you for a directory to copy to.

One may also copy directories and their contents (local only) to a target
directory.

Votre cas est simplifié car ./Aest le parent de ./A/B:

  1. Ouvrez ./A/B, passez à la ligne ayant ../,
  2. Marquez-le avec mt
  3. Accédez à la ligne contenant le fichier que vous souhaitez copier.
  4. Appuyez sur mf, puis sur mc.

Exemple:

$ tree foo
foo
└── bar
    └── test

1 directory, 1 file
$ vim foo/bar

Maintenant:

  1. Accédez à ..et appuyez sur mt:

    entrez la description de l'image ici

  2. L'en-tête changera pour afficher la cible actuelle:

    entrez la description de l'image ici

  3. Accédez au fichier (ici test) et appuyez sur mf. Il est mis en évidence pour moi:

    entrez la description de l'image ici

  4. Appuyez sur mc- la surbrillance disparaît. Naviguez maintenant vers le dossier parent - le fichier doit être présent:

    entrez la description de l'image ici


9

Je le ferais en mode ligne de commande:

  • Sélectionnez le fichier dont vous avez besoin dans netrw
  • Ouvrez la ligne de commande et tapez - :!mv <C-R><C-F> ../<C-R><C-F>

Ici, <C-R><C-F>insère le nom du fichier sous le curseur, vous n'avez donc pas à taper le nom du fichier.


1
Très cool. N'inclut pas le chemin complet si vous avez traversé votre arbre dans netrw ...
J0hnG4lt

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.