zaki work log

作業ログやら生活ログやらなんやら

Rust製エディタ「Zed」でリモートSSHを試してみた (Windows)

マルチプラットフォームでRust製のエディタZedが最近Windowsにも対応したので試してみた。
機能的にはSSHリモート処理が内蔵されているので、個人的な用途としてはこれで90%くらいクリアしてるので(笑)

zed.dev

forest.watch.impress.co.jp

インストーラーを起動すれば特に何も迷うことなくインストールできるはず。
環境は以下の通り。

  • クライアント: Windows11
  • サーバー: Fedora 42

リモートSSHの接続手順

リモートオープンのショートカットは「Ctrl-Alt-Shift o」から。

またはメニューの[File]->[Open Remote...]から。
選択肢の「+ Connect New Server」を選択すると接続先情報の入力欄が表示されるので、CLIsshで接続するときの要領でusername@server [-p port]形式で入力。

接続に成功すると(ここがわかりづらかったけど)リモート接続メニューに項目が追加されるので、「+ Open Folder」を選択。
ここからZedでオープンするフォルダを指定すれば起動する。

リモートシェルはVSCodeと同様に「Ctrl-@」で起動する。

Terminalのキーバインド

Forward keys to terminal

デフォルトだと、bashでいくつかの使うキーバインドがエディタで処理されるようになってるので調整。
メニューで「Open Keymap File」を開いて、以下を追加。

  {
    "context": "Terminal",
    "bindings": {
      "ctrl-p": ["terminal::SendKeystroke", "ctrl-p"]
    }
  },
  {
    "context": "Terminal",
    "bindings": {
      "ctrl-n": ["terminal::SendKeystroke", "ctrl-n"]
    }
  },
  {
    "context": "Terminal",
    "bindings": {
      "ctrl-r": ["terminal::SendKeystroke", "ctrl-r"]
    }
  }
  • Ctrl-pはデフォルトでファイル検索が起動する
  • Ctrl-nはデフォルトでは新規ターミナルが起動。これはこれで便利だけどCtrl-Shift-@で同じ動作なので変更
  • Ctrl-rはデフォルトは"Workspace"全体でRecent Open起動。どの画面でも起動する状態だが、Terminal指定でキーバインド設定すれば上書きされる

限定上書きもこの設定方法でできるのであれば、おそらく追加で必要なものが出てきても何とかなりそう。

ちなみに"ctrl-r"の設定に["terminal::SendKeystroke", "ctrl-r"]を入れることでTerminalにキーコードをそのまま渡す設定にはなるが、null指定でも動作は同じに見える。
初めはnullで試していたが、でもドキュメントには前者の方法が書かれているのでひとまずこれで。

検証の履歴

zedのターミナル、ctrl-pを↑にするのは単にキーバインドを追加すれば良かったけど、ctrl-rをエディタに喰わせずシェルのコマンド履歴検索に通す設定がわからぬ。。 discussionsにあるけど実現できないのかな。。 ctrl-r keybind (Open Recent) · zed-industries/zed · Discussion #23895 https://github.com/zed-industries/zed/discussions/23895

zaki (@jp-z.jp) 2025-10-19T02:31:18.037Z
bsky.app

エディタの自動セーブ

デフォルトは無効。
設定はUIはまだないっぽいので、以下をsettings.jsonに記載

  "autosave": {
    "after_delay": {
      "milliseconds": 1000
    }
  }

エディタ名がZで始まるのと、Ayuって名前のテーマがあるのがいいね。何のAyuかわからないけど。


機能的にはよさそうなので、しばらくZedと仲良くしてみたい。
ところで読み方は…