← XeFM English | 日本語 · crftwr/xefm on GitHub · craftware

リモートでの編集

English | 日本語

SSH や S3 のペインにあるファイルを編集する(File → Edit File、edit_file)と、ローカルのファイルと同じようにエディターで開きます。保存するたびに、XeFM が変更をファイルの元の場所へアップロードします。

仕組み

  1. リモートのファイルにカーソルを置き(または複数を選択し)、File → Edit File(edit_file)を選びます。キーはキーマッププリセットによって異なります。キーマッププリセットを参照してください。
  2. XeFM がファイルをダウンロードし、そのコピーをエディター(TEXT_EDITOR、または FILE_ASSOCIATIONS の edit プログラム)で開きます。
  3. 好きなだけ編集して保存します。保存するたびにアップロードされ、ログにもそう記録されます:Uploaded ssh://host/srv/app/config.yaml。

コピーは ~/.xefm/edit/ の下の、リモートのパスに沿ったフォルダー(~/.xefm/edit/ssh/host/srv/app/config.yaml)に置かれるので、エディターのタイトルバーで、どのファイルを編集しているかがわかります。

保存は、vim のようなターミナルのエディターでも、VS Code のような GUI のエディターでも同じように動作します。XeFM は動いている間ずっと、約 1 秒ごとにコピーを確認しているので、独自のウィンドウで開くエディターでも、終了を待つためのオプションは必要ありません。

ほかの誰かがファイルを変更した場合

XeFM はアップロードのたびに、開いてから(または前回アップロードしてから)リモートのファイルが変更されていないかを確認します。変更されていた場合は、上書きする前に尋ねます。

アップロードに失敗した場合

アップロードに失敗すると(接続が切れた、アクセスが拒否されたなど)、エラーの内容と、編集を保持しているローカルのコピーを示すメッセージが表示されます。何も削除されません。もう一度保存して再試行するか、ファイルを手動でコピーしてアップロードしてください。

XeFM を終了したとき

リモートのファイルと一致するローカルのコピーは削除されます。リモートに届かなかった編集を含むコピーは残され、ログにその名前が記録されます。

すでに編集中のファイルでもう一度 edit_file を実行すると、アップロードされていない編集を含んでいる場合は同じコピーを開き直します。そうでなければ XeFM はファイルをもう一度ダウンロードするので、サーバーにある現在の内容から始められます。

制限

関連項目