~から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