2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WSL + WezTermでペイン作成時にディレクトリを引き継ぐ方法

2
Last updated at Posted at 2026-02-02

はじめに

WSLとWezTerm利用時に、WezTerm側からペインやタブを作成する際、生成元のディレクトリを継承するように設定する方法を説明します。

どういった問題が起きていたか

WezTerm側から新しくペインを作成すると、Windowsのホームディレクトリで開始されてしまう問題がありました。

以下のように作成したペインの最初のパスがWindowsのホームディレクトリになってしまう。
image.png

原因

WezTermを含め、ターミナルにはシェルが現在どのディレクトリにいるかを知る手段がありません。そのため、新しいペインを作成する際に「現在のディレクトリ」情報を引き継ぐことができず、WSL起動時のデフォルト動作として、Windowsのホームディレクトリを使用することがあります。

解決方法

WezTermに「現在のディレクトリ情報」を伝えることができれば解決できます。伝える手段の1つとしてOSC(Operating System Command)7を使用する方法があります。OSC7によって現在のディレクトリやその他の情報をシェルからWezTermに伝えることができます。

WezTerm側で解決する手段は他にもあると思いますが、設定がシンプルなため、この方法を採用しました。

OSC7の設定方法

お使いのシェルの設定ファイルに以下を追記します。

zshの場合

# --------------------------------------------
# OSC 7 - WezTermにカレントディレクトリを通知
# --------------------------------------------
__wezterm_osc7() {
    printf '\e]7;file://localhost%s\e\\' "$PWD"
}
precmd_functions+=(__wezterm_osc7)

bashの場合

# --------------------------------------------
# OSC 7 - WezTermにカレントディレクトリを通知
# --------------------------------------------
__wezterm_osc7() {
    printf '\e]7;file://localhost%s\e\\' "$PWD"
}
PROMPT_COMMAND="__wezterm_osc7${PROMPT_COMMAND:+;$PROMPT_COMMAND}"

設定ファイルを保存後、以下のコマンドで設定を反映するか、ターミナルを再起動してください。
なお、WezTerm側では特別な設定は不要です。OSC7を受信すると自動的に新規ペイン・タブ作成時にそのディレクトリを引き継ぎます。

source ~/.zshrc   # zshの場合
source ~/.bashrc  # bashの場合

動作確認

設定すると、ペインやタブの作成時に作成元のディレクトリが引き継がれるようになります。

~/.configディレクトリで作成した場合、右のペインは作成元のディレクトリを引き継いでいる
image.png

JISOUのメンバー募集中!

プログラミングコーチングJISOUでは、新たなメンバーを募集しています。
日本一のアウトプットコミュニティでキャリアアップしませんか?
興味のある方は、ぜひホームページをのぞいてみてください!
▼▼▼
https://projisou.jp

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?