zshレポートディレクトリをemacsにする

zshレポートディレクトリをemacsにする

~からEmacs マニュアル

Shellモードとは異なり、Termモードは入力を確認して現在のディレクトリを追跡しません。しかし、一部のシェルはTermに現在のディレクトリが何であるかを伝えることができます。これはbashバージョン1.15以降で自動的に行われます。

zsh は、少なくとも基本的にはこれを実行していないようです。有効にするオプションはありますか?

答え1

bashソースをgrepingした後、次のことがわかりました。

static void
send_pwd_to_eterm ()
{
  char *pwd;

  pwd = get_string_value ("PWD");
  if (pwd == 0)
    pwd = get_working_directory ("eterm");
  fprintf (stderr, "\032/%s\n", pwd);
}

これは、現在録音しているものとは若干異なりますterm.el。次のように動作するには、.zshrcを入れる必要があるようです。

if [ -n "$INSIDE_EMACS" ]; then
    chpwd() {
        print -P "\032/$(pwd)"
    }
fi

関連情報