ローカルコンピューターにインストールされているemacsを使用して、リモートサーバーにあるリモートファイルにアクセスする方法はありますか?私はグーグルし、TrampModeを使用する必要があることを発見しましたが、正確なファイルパスを知る必要があります。リモートサーバーへのssh接続を開き、そこから自分のコンピューターのローカルemacsでファイルを開く方法はありませんか?
ローカルコンピューターにインストールされているemacsを使用して、リモートサーバーにあるリモートファイルにアクセスする方法はありますか?私はグーグルし、TrampModeを使用する必要があることを発見しましたが、正確なファイルパスを知る必要があります。リモートサーバーへのssh接続を開き、そこから自分のコンピューターのローカルemacsでファイルを開く方法はありませんか?
回答:
これにはさまざまな方法がありますが、一般的には、この問題を逆向きに進めています。emacs構成をリモートマシンにコピーし、編集しているファイルに対してローカルのemacsを使用します。
「これを行うさまざまな方法」は2つのカテゴリーに分類されます。1つ目は、sshfs、一部のヒューズファイルシステム、samba、nfs、またはその他のマウントシステムを使用してリモートドライブをローカルにマウントし、マシンにファイルレベルのアクセスを提供する方法です。2つ目は、リモートシステムにログインして閲覧し、それらのコピーをローカルの一時ファイルに転送して編集し、元に戻すことでファイルを操作するさまざまなプログラムです。いくつかのプログラムはそのプロセスをかなりシームレスに見せますが、それはハックです。
Tramp
ので、私の「ハッキング」の申し立ては適用する必要がないはずです。特に、「エディターで開く」などのメニュー項目があるさまざまなファイルマネージャープログラムについて考えていました。これらはファイルを開くために機能しますが、通常、ファイルのコピー、変更、コピーバックなどを必要とする方法で脆弱です。エディターを閉じる前の中間ファイルの保存は、上流にプッシュされないことが多く、扱いにくい方法になります。ファイル。Tramp
@starcorn の制限を回避する方法を知っている場合は、必ず別の答えを追加してください。
私はトランプがあなたが探しているものだと思います。Diredモードを使用して、リモートディレクトリを参照し、目的のファイルを探すことができます。
たとえば/etc/
、リモートマシンrem
でファイルを探している場合は、次のようにします。
C-x C-f
/rem:/etc/
してエンターキーを押し。次のような出力が得られます。
/ssh:rem:/etc:
total 1460
drwxr-xr-x 141 root root 12288 Aug 12 06:46 .
drwxr-xr-x 23 root root 4096 Jul 18 23:48 ..
drwx------ 6 root root 4096 Nov 17 2009 .bzr
-rw------- 1 root root 749 Jul 18 23:30 .bzrignore
-rwx------ 1 root root 10015 Aug 12 09:17 .etckeeper
drwxr-xr-x 3 root root 4096 Aug 6 00:47 .java
-rw------- 1 root root 0 Nov 17 2009 .pwd.lock
次に、たとえば矢印キーを使用して、編集するファイルを見つけます。カーソルをファイルの上に置いてEnterキーを押すと、編集できます。