31411


tramp は、リモートのファイルシステムをあたかもローカルのファイルシステムであるかのように取り扱うことができます。特に、 dired
モードで、ファイルを選択し、ローカルのディレクトリへコピー(`C`)したりなどできます。

これを行う際、どうやら、 ssh の接続を利用して、さらにもろもろの base64
エンコーディングなどを経由してファイルの転送は行われているようです。これは、遅いです。

ssh で tramp している対象から、ローカルへファイルをコピーする際には、 scp を利用するようにする、のようなことを実現する方法はありますか？


CC BY-SA 3.0
2016-12-26T10:30:06.763
31407
2016-12-26T14:44:14.000
754
question
emacs
ssh tramp でデータ転送をする際に、 scp を利用するようにしたい


ファイルパスの指定に `/scp:hostname:` か `/rsync:hostname:` を使えば良さそうです。なお、`/rsync:...`
指定が最も高速だそうです。


CC BY-SA 3.0
2016-12-26T13:04:12.387
31411
2016-12-26T13:04:12.387
754
31407
answer


以下のように指定することで、ホスト名ごとに何を使うかを指定することができます。  
大昔の私の ~/.emacs から引用します。

[code]

    (setq tramp-default-method-alist
          '(("\\`chise\\'" "" "scp")))
    
[/code]

また、`tramp-default-method` という変数もあるようです。  
こちらは使ったことがありませんが、おそらく

[code]

    (setq tramp-default-method "scp")
    
[/code]

といった感じで使えるのではないかと思います。


CC BY-SA 3.0
2016-12-26T14:44:14.000
31414
2016-12-26T14:44:14.000
5288
31407
answer