4

私の目標は、リモートでコードを書くことです。これまで、私はssh + screen +エディター(vimなど)を使用してきました。

ローカルのemacs(またはvim)を使用して、リモートファイルを編集できることを理解しています。しかし、ローカルemacsを閉じて、再度開きたい(または別のコンピューターを使用して開きたい)場合は、すべてのバッファーを再度開く必要があります。

リモートマシンにemacsサーバーをセットアップする方法はありますか?ローカルのemacsクライアントを使用して簡単にアクセスできますか?これは基本的に画面の動作をシミュレートします。

4

3 に答える 3

4

私はあなたがここであなたの答えを見つけるかもしれないと思います。

http://www.gnu.org/software/emacs/manual/html_node/emacs/Emacs-Server.html

http://www.gnu.org/software/emacs/manual/html_node/emacs/emacsclient-Options.html#emacsclient-Optionsによると;

Emacsサーバーは通常、「ローカルソケット」と呼ばれるオペレーティングシステム機能を使用して接続をリッスンします。Microsoft Windowsなどの一部のオペレーティングシステムは、ローカルソケットをサポートしていません。その場合、Emacsは代わりにTCPを使用します。Emacsサーバーを起動すると、Emacsはemacsclientが接続を確立するために必要なTCP情報を含むサーバーファイルを作成します。デフォルトでは、サーバーファイルは〜/ .emacs.d /server/にあります。Microsoft Windowsでは、emacsclientがサーバーファイルを見つけられない場合、APPDATA環境変数が指すディレクトリの.emacs.d /server/サブディレクトリを調べます。'-f'または'--server-file'オプションを使用するか、EMACS_SERVER_FILE環境変数を設定することにより、emacsclientに特定のサーバーファイルを使用するように指示できます。

ローカルソケットが使用可能な場合でも、変数server-use-tcpをtに設定することで、TCPを使用するようにEmacsに指示できます。TCPの利点の1つは、サーバーがリモートマシンからの接続を受け入れることができることです。これを機能させるには、(i)変数server-hostをEmacsサーバーが実行されているマシンのホスト名またはIPアドレスに設定し、(ii)emacsclientにサーバーファイルを提供する必要があります。(後者を行う便利な方法の1つは、サーバーファイルをNFSなどのネットワークファイルシステムに配置することです。)

EmacsサーバーがTCPを使用している場合、変数server-portはリッスンするポート番号を決定します。デフォルト値のnilは、サーバーの起動時にランダムなポートを選択することを意味します。

もちろん、クライアントがemacs-serverを実行しているマシンに接続できるように、サーバー側でファイアウォール設定を調整してください。

于 2012-10-19T16:31:42.250 に答える
1

私は他の投稿で言及されている方法を何度も試みましたが、成功したことは一度もありません。

emacsができる素晴らしいことの1つは、デスクトップ保存モードです。これは、emacsを強制終了したときに開いているすべてのバッファーを保存し、emacsを再度開いたときにそれらを復元します。デフォルトでは、トランプバッファは復元されませんが、設定を微調整してこれを実行できるようにすることができます。詳細については、このStackOverflowの質問をご覧ください。

于 2012-10-19T17:25:49.030 に答える
0

ローカルにログインしてから、リモートマシンにSSHで接続できます。リモートマシンでは、「参加できる画面セッション」を行うことができます。このセッションでは、emacsを実行し、すべてのバッファーを残したままにします。リモートマシンを再起動する必要があり、セッションが失われる可能性がある場合は、これと組み合わせてデスクトップ保存を使用することもできます。これは私が使用する最も実用的な解決策です。「クライアントコンピュータ」はいつでも変更できます。ローカルのemacsクライアントを使用する必要はありません。また、異なるプロジェクトに対して複数のセッションを作成し、異なる端末上の特定のプロジェクトに対して画面セッションに参加することもできます。

于 2012-10-19T21:23:26.537 に答える