bash的完成似乎可以正常工作于我启动emacs时设置的路径,但是如果我更改emacs shell buffer中的路径,我似乎无法让emacs重新考虑其列表可能的完成。
是否有某种方法可以重新对emacs的完整视图进行重新初始化?
在非emacs shell中,一切都按预期工作,偶尔的hash -r可以很好地投入。
假设您使用的是完成点,则有一个可变的exec-path
维护搜索可执行文件的目录列表。默认情况下shell-dynamic-complete-functions
的shell-command-completion
搜索这些位置。
您可以使用新位置更新该变量,以搜索可执行文件,例如。(push "<new-directory>" exec-path)
。