我可以在shell模式下为Emacs使用PowerShell吗?

时间:2009-05-16 14:16:43

标签: windows emacs powershell

我可以在shell模式下使用powershell作为shell吗? 怎么样?

4 个答案:

答案 0 :(得分:7)

请参阅Jeffrey Snover的博客文章PowerShell running inside of Emacs

答案 1 :(得分:4)

基于博客文章Run PowerShell as a shell within Emacs(2008年4月),以及关于PowerShell的Emacs Wiki文章中名为PowerShell as an inferior shell的部分(2010年5月更新):

  • powershell.el保存在Emacs安装目录下的.\share\emacs\site-lispload-path中的任何其他目录下。 (powershell.el太长,不能包含在这个答案中。正如博客文章中所解释的那样,当标准输入和输出被重定向时,没有办法强制PowerShell以交互模式运行,所以相当多的胶水代码需要将它用作劣质外壳。)

  • 将以下内容添加到.emacs file

    (autoload 'powershell "powershell" "Run powershell as a shell within emacs." t)

完成后,使用M-x powershell打开并以交互方式使用PS shell缓冲区。

答案 2 :(得分:3)

找出最快的方法是运行shell模式,然后从命令行运行powershell。

答案 3 :(得分:0)

我提出了五种衬垫,而不是整个包装,足以满足我的需求。您可能想快速适应它。

(defun powershell (&optional buffer)
  "Launches a powershell in buffer *powershell* and switches to it."
  (interactive)
  (let ((buffer (or buffer "*powershell*"))
    (powershell-prog "c:\\windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe"))
    (make-comint-in-buffer "shell" "*powershell*" powershell-prog)
    (switch-to-buffer buffer)))