在 Windows 版 Emacs 中使用 msysgit shell

在 Windows 版 Emacs 中使用 msysgit shell

我对 Emacs 还比较陌生,正在尝试设置 emacs,以允许以下命令打开 msysgit shell。

M-x bash-shell

我已将以下代码片段添加到我的 init.el。

(defun bash-shell ()
  "Run git bash in shell mode."
  (interactive)
  (let ((explicit-shell-file-name "C:/Dev/Apps/Git/bin/sh.exe")
    (shell-file-name explicit-shell-file-name)
    (explicit-sh.exe-args '("--login" "-i")))
    (call-interactively 'shell)))

它似乎可以工作,但不是我期望的方式。它以以下输出开始。

Welcome to Git (version 1.8.4-preview20130916)


Run 'git help git' to display the help index.
Run 'git help <command>' to display help for specific commands.

但随后就卡住了。然而,我可以输入标准命令(例如 ls、pwd 等),但我的 .bashrc 似乎没有被执行。exit然而,当我输入时,它似乎要么正确启动,要么至少执行 .bashrc,这让我很困惑。

Welcome to Git (version 1.8.4-preview20130916)


Run 'git help git' to display the help index.
Run 'git help <command>' to display help for specific commands.
pwd
/c/Dev/Apps/Emacs/emacs-23.3/bin
uname
MINGW32_NT-5.1
ll
bash: line 3: ll: command not found
exit
laiwib@WZUR5250815 /c/D.A.E.e/emacs-23.3/bin  $ 

无论如何,它的行为与我在 Windows 上启动 Git Bash 的行为不同

C:\WINDOWS\system32\cmd.exe /c ""C:\Dev\Apps\Git\bin\sh.exe" --login -i"

这给了我以下

Welcome to Git (version 1.8.4-preview20130916)


Run 'git help git' to display the help index.
Run 'git help <command>' to display help for specific commands.
Agent pid 4384
laiwib@WZUR5250815 ~ (git::master) $ ll
total 16
drwxr-xr-x    1 laiwib   Administ        0 Oct 21  2012 WINDOWS
drwxr-xr-x    1 laiwib   Administ        0 Oct 23  2012 .eclipse
-rw-r--r--    1 laiwib   Administ       38 Oct 23  2012 .dbshell
...

我怎样才能让它像 Git Bash 一样运行而无需手动调用exit

相关内容