Q'dev · Q‘OT

mac+iTerm2+oh my zsh 整合过程的小坑

这个国庆过的很不舒服,但好歹还是折腾了点事,这次把所有电脑上的终端都切到了 zsh,因为现在的工作又开始和大量的 office 文档打交道,所以主力还是回到了 windows 上,所以国庆咬着牙买了 surface go。但是开发还是 mac 上舒服些,所以折腾完 Windows 的几台机器安上 wsl+oh my zsh 后,又开始折腾 mac 上的了。

言归正传,至于怎么整合,网上有大把教程,这里只说自己遇到的一个蛋疼问题。
因为之前一直在 bash 下,装了 nvm、pyenv、php 等等这些东西以及自己定制了很多 alias,结果迁移到 zsh 后,这些都挂了。
按网上说的,把 ~/.bash_profiletest -f ~/.bash_profile  && source ~/.bash_profile 加到 ~/.zshrc 文件的头部之后出现以下错误:
.iterm2_shell_integration.bash:type:376: bad option: -t

这个问题是 iTerm2 的 Shell Integration 功能造成的,其实我也不知道有啥用,因为一直没感觉到它,所以毫不犹豫的把它注释了,这段代码在 ~/.bash_profile
test -e "${HOME}/.iterm2_shell_integration.bash" && source "${HOME}/.iterm2_shell_integration.bash"

之后又出现一个问题,每次启动 iTerm2 的时候,都会有个提示:
complete:13: command not found: compdef

这个问题其实是 nvm 造成的,注意前面我们把那段加载文件的代码放在了最前面,这里把它放到 ~/.zshrc 的最后面一行就可以了。

下回有空了想折腾下 fish,不知道会不会更好玩些。

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.