Jak skopiować plik w netrw?

16

Obecny katalog roboczy to ./A/B/. Pusty dokument jest otwierany, gdy piszę vim, a netrw jest otwierany za pomocą polecenia :e.Okno jest podzielone przez vs.i mogę przejść do katalogu wyższego poziomu, tj ./A/. Teraz chciałbym skopiować plik a_file.jpgz ./A/B/do ./A/.

Próbowałem yyna pliku docelowym i pw oknie docelowym (katalogu), ale nie udało mi się to osiągnąć.

Czy jest jakiś sposób, aby osiągnąć cel bez instalowania dodatkowych wtyczek?

użytkownik3813057
źródło
1
Spróbuj mtwykonać następujące czynności: kliknij katalog docelowy, w którym chcesz utworzyć kopię pliku (aby go oznaczyć; ścieżka do folderu powinna pojawić się na banerze po Copy/Move Tgt:), kliknij mfplik, który chcesz skopiować, aby oznaczyć go jako cóż, a następnie naciśnij, mcaby faktycznie wykonać kopię.
saginaw

Odpowiedzi:

18

Nie można używać y, pitd., Aby skopiować pliki netrw - pochodzi z jego własnych komend. Zobacz :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.

Twoja sprawa jest uproszczona, ponieważ ./Ajest rodzicem ./A/B:

  1. Otwórz ./A/B, przejdź do linii mając ../,
  2. Oznacz to za pomocą mt
  3. Przejdź do wiersza z plikiem, który chcesz skopiować.
  4. Naciśnij mf, a następnie mc.

Przykład:

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

1 directory, 1 file
$ vim foo/bar

Teraz:

  1. Przejdź do ..i naciśnij mt:

    wprowadź opis zdjęcia tutaj

  2. Nagłówek zmieni się, aby pokazać bieżący cel:

    wprowadź opis zdjęcia tutaj

  3. Przejdź do pliku (tutaj test) i naciśnij mf. Zostaje dla mnie wyróżnione:

    wprowadź opis zdjęcia tutaj

  4. Naciśnij mc- podświetlenie zniknie. Teraz przejdź do folderu nadrzędnego - plik powinien być obecny:

    wprowadź opis zdjęcia tutaj

muru
źródło
9

Zrobiłbym to z trybu wiersza poleceń:

  • Wybierz potrzebny plik w netrw
  • Otwórz wiersz polecenia i wpisz - :!mv <C-R><C-F> ../<C-R><C-F>

Tutaj <C-R><C-F>wstawia nazwę pliku pod kursorem, więc nie musisz wpisywać nazwy pliku.

Borys Serebrow
źródło
1
Bardzo fajny. Nie obejmuje pełnej ścieżki, jeśli przemierzałeś swoje drzewo w sieci ...
J0hnG4lt
3
  • Ustaw kursor na ./(lub katalog, w którym chcesz skopiować), naciśnijmt
  • Ustaw kursor na pliku, który chcesz skopiować, naciśnij mf, a następnie mcwpisz nazwę nowego pliku,enter
itsnikolay
źródło
Mam(netrw) tried using g:netrw_localcopycmd<cp>; it doesn't work!$
Harry Moreno,
rozwiązanie dla osx stackoverflow.com/questions/31811335/...
Harry Moreno
@HarryMoreno działało na moim osx iTerm2
itsnikolay