如何在msysGit中使用Zsh

时间:2013-05-31 07:27:40

标签: git zsh

msysGit附带一个资源管理器外壳扩展,在文件夹的上下文菜单中显示Git Bash Here,在所选文件夹中打开一个Bash提示符。

如何使用Zsh而不是Bash作为此命令窗口的shell?

4 个答案:

答案 0 :(得分:5)

msysGit提供的内置Bash构建在conhost.exe之上。与例如xterm(剪贴板,文本输入/输出,历史等)相比,这很糟糕。

我目前在Windows上使用的解决方法是使用最新的msysGit + Cygwin与Bash一起使用。这给了我一个体面的shell,最近和快速的Git。使用这种方法,您可以使用其他shell,如Zsh。请注意,权衡包括Git无法使用您的PAGER(我必须将git log之类的内容替换为git log|less)。

答案 1 :(得分:2)

MsysGit不支持除内置Bash之外的其他shell。

您可以考虑使用Cygwin - 如果您不能使用Zsh(我理解您) - 这也提供了git-package

不幸的是,这个软件包很旧(v1.7.9来自Jan' 12),这可能会导致与新版本库的交互出现问题。

答案 2 :(得分:2)

Babun 是一种易于设置的变体。它基于Cygwin,提供Zsh(包括Oh My Zsh)和Git,可以立即使用。

从技术上讲,由于Babun包含自己的Git版本,所以它没有将Zsh与 msysGit 一起使用。此外,Babun占用了msysGit所需空间的两倍(包括Git Bash)。但是,与msysGit相比,它可以成为一种可行的替代方案,因为它具有简单的设置和进一步的使用可能性。

答案 3 :(得分:0)

您应该先安装pacman。 您可以安装msys,然后将以下文件复制到git中以获取Windows安装目录。

./etc/pacman.conf
./etc/pacman.d/gnupg/.gpg-v21-migrated
./etc/pacman.d/gnupg/crls.d/DIR.txt
./etc/pacman.d/gnupg/gpg-agent.conf
./etc/pacman.d/gnupg/gpg.conf
./etc/pacman.d/gnupg/openpgp-revocs.d/95B7E06B8C47127F398481080BDA45A606729940.rev
./etc/pacman.d/gnupg/private-keys-v1.d/1124CC687F416E4D7C43EB618BECDD023E787046.key
./etc/pacman.d/gnupg/pubring.gpg
./etc/pacman.d/gnupg/pubring.gpg~
./etc/pacman.d/gnupg/secring.gpg
./etc/pacman.d/gnupg/tofu.db
./etc/pacman.d/gnupg/trustdb.gpg
./etc/pacman.d/mirrorlist.mingw32
./etc/pacman.d/mirrorlist.mingw64
./etc/pacman.d/mirrorlist.msys
./usr/bin/pacboy
./usr/bin/paccache
./usr/bin/pacdiff
./usr/bin/paclist
./usr/bin/paclog-pkglist
./usr/bin/pacman-conf.exe
./usr/bin/pacman-db-upgrade
./usr/bin/pacman-key
./usr/bin/pacman-rec-filename-grep
./usr/bin/pacman.exe
./usr/bin/pacscripts
./usr/bin/pacsearch
./usr/bin/pacsort.exe
./usr/bin/pactoys

我只是从/ usr / bin /目录复制所有以pac开头的二进制文件。 现在你有一个吃豆人。使用pacman -S zsh命令安装zsh。

请参阅https://medium.com/@borekb/zsh-via-msys2-on-windows-3964a943b1ce上的教程