SSH接続からローカルEmacsサーバーに「逆方向」に接続できますか?

SSH接続からローカルEmacsサーバーに「逆方向」に接続できますか?

ssh$EDITOR私はローカルEmacsで編集できるように環境変数(または同様のもの)を使ってリモートコンピュータにログインしたいと思います。これは、特にログインしてコマンドをpsql使用してクエリを実行して編集するときです。\e psqlEmacsでローカルに編集できることは私のワークフローにとって大きな利点です。

私はいつもこれが不可能だと疑っていましたが、あきらめる前にここに投げるべきだと思いました。

答え1

実際に使用できます徒歩旅行者:

TRAMPは、「透明なリモート(ファイル)アクセス、マルチプロトコル」を意味します。このパッケージは、Ange-FTPに似たリモートファイル編集機能を提供します。違いは、Ange-FTPはFTPを使用してローカルホストとリモートホスト間でファイルを転送し、TRAMPはrshとrcpまたはssh / scpなどのように動作する他のプログラムの組み合わせを使用することです。

ファイルに次の行を追加します~/.emacs源泉):

(require 'tramp)
(setq tramp-default-method "scp")

これにより、次のようにリモートファイルを開くことができます。

emacs /remote.server.com:/remote/path/foo.txt

ただし、特にこのコマンドで使用するにはpsql他のものが必要です。今すぐこれをテストする方法はありませんが、emacsをローカルemacsのエイリアスに設定することもできます。可能働くリモート.bashrcファイルに次の行を追加します。

alias emacs='ssh user@local emacs'

答え2

emacs私はについてよく知っていますpsql。しかし...

sshfsこれを使用してリモートサーバーをインストールし、すべてのタスクをローカルで実行できるようです。

sshfs user@host mount/directory/
cd mount/directory && emacs

リモートマシンでコマンドを実行する必要がある場合は、マウントを使用してsshfsアクセスsshできます。SSHエスケープ文字を使用してSSHセッションを一時停止します。コンピュータでemacsを実行します(マウントを使用してリモートファイルを編集するsshfs)。

別のソリューションリモートコンピュータにインストールしemacsて設定をコピーします(私はvimコンテンツのgitリポジトリに集約されたこのソリューションを選択しました)。

答え3

これはあなたが説明する方法で行うことはできません。 SFTP(おそらくFUSE経由)を使用してリモートシステム上のファイルを編集できます。スクリプトとパイプを使って本当にクリエイティブな作業を行うこともできますが、組み込みの機能ではありません。

関連情報