Jak kopiować pliki ze zdalnego serwera do lokalnego folderu w emacsie za pomocą dired / tramp?

9

Kiedy używam trampa, aby otworzyć zdalny katalog (powiedzmy Cx Cf / ssh: użytkownik @ przykład: / somedirectory), otwiera bufor diodowy dla tego zdalnego katalogu. Problem polega na tym, że chcę skopiować katalogi i / lub pliki ze zdalnego serwera na mój komputer lokalny. Próbowałem kilku składni, takich jak zaznaczanie całego katalogu lub plików, naciskanie „C” i określanie local: / somelocaldir lub just / somelocaldir, ale w najlepszym wypadku pliki są kopiowane do pliku gdzieś na zdalnym serwerze.

Czy istnieje sposób na skopiowanie plików ze zdalnego (trampowego) bufora dired do lokalnego katalogu? Używam emacsa tylko 6 miesięcy, więc jeśli jest zupełnie inne podejście, które jest lepsze i nadal pozwala mi używać emacsa (najlepiej w / dired), byłoby świetnie.

Dla wyjaśnienia, nie jestem zainteresowany przeglądaniem, edytowaniem, listowaniem itp. Zdalnych plików. Chcę tylko skopiować pliki ze zdalnego serwera na mój komputer lokalny, z takim samym efektem, jak w przypadku użycia scp lub scp -r. Mam tylko nadzieję, że dam radę to zrobić bez konieczności opuszczania emacsa lub nawet korzystania z eshell (ale prawdopodobnie zrobię to, dopóki nie otrzymam odpowiedzi).

labirynt
źródło
W większości instalacji, które widziałem, C-x C-f /user@somehost:/somedirwystarczy, ponieważ scpjest to domyślna metoda wymiany. Wypróbuj i przekonaj się. Może uda ci się zaoszczędzić kilka kluczowych nierówności.
ephsmith,
To po prostu otwiera bufor buforowy. W rzeczywistości nie kopiuje katalogu w stylu „scp -r user @ somehost: / somedir”. zrobiłby.
labirynt
Rozumiem teraz twoje pytanie. W tytule pytania pomyślałem, że chcesz skopiować pliki bezpośrednio dired. Używam ansi-termtakich poleceń, jeśli nie chcę zostawiać emacsa. Emacs został zbudowany w celu dostosowania. Jestem pewien, że w pewnym momencie otrzymasz odpowiedź z fragmentem seplenienia.
ephsmith

Odpowiedzi:

8

Oto jeden sposób. To działa dla mnie na emacs 23.

W trybie dired przejdź do pliku, który chcesz skopiować.

  1. Naciśnij, Maby zaznaczyć plik.
  2. Zrób to, M-x dired-do-copya zostaniesz poproszony o podanie lokalizacji w mini-buforze.
  3. Edytuj lokalizację do lokalizacji lokalnej, do której chcesz skopiować, i wprowadź hasło.

Gotowy.

ephsmith
źródło