Bash完成似乎对我启动emacs时设置的PATH正常工作,但是如果我在emacs shell缓冲区中更改PATH,我似乎无法让Emacs重新考虑其可能的完成列表。
有没有办法重新初始化完成的Emacs视图?
在非emacs shell中,一切都按预期工作,偶尔会抛出一个hash -r。
答案 0 :(得分:1)
假设您使用的是完成点,则有一个变量exec-path
,它维护搜索可执行文件的目录列表。 shell-command-completion
默认情况下是shell-dynamic-complete-functions
的一部分,会搜索这些位置。
您可以使用新位置更新该变量以搜索可执行文件,例如。 (push "<new-directory>" exec-path)
。