1

Emacs shell 模式选项卡补全 ( comint-dynamic-complete) 适用于 linux 内置的命令,但它似乎没有检测到我的原始命令,其路径在~/.bashrc. 我怎样才能comint-dynamic-complete寻找这样的命令?我使用 emacs 23.3。

4

2 回答 2

2

在 shell 模式下,它会查找 中指定的目录,该目录是在 Emacs 启动时exec-path根据环境变量初始化的。您可以覆盖( ref )PATH中的一个或两个。此页面向您展示如何覆盖这两个变量中的任何一个:.emacs

(setenv "PATH" (concat (getenv "PATH") ":/sw/bin"))
(setq exec-path (append exec-path '("/sw/bin")))

编辑:

Powershell.el可能是comint.el. 在源代码注释中,它声称要搜索exec-path其中一个功能,恕我直言,应该在comint.el

;; (defun powershell-dynamic-complete-command ()
;;   "Dynamically complete the command at point.
;; This function is similar to `comint-dynamic-complete-filename', except that it
;; searches the commands from powershell and then the `exec-path' (minus the
;; trailing Emacs library path)  for completion
;; candidates.

阅读以“完成 TAB 的注释”开头的源代码注释。

于 2011-06-27T13:00:14.613 回答
1

看一下shell-command

(require 'shell-command)
(shell-command-completion-mode)
于 2011-07-25T12:19:15.047 回答