33

I've used Iterm2 with zsh everyday for the past 3 years, but I got a new computer and had to set it up again. The problem is that when I run ~/.zshrc it works fine, but I have to do it on every new terminal window I open. Not a good experience.

I noticed that I don't have any bashrc, bash_profile, or profile (dot)files on my new machine.

Here's the code in ~/.zshrc:

export ZSH=/Users/healy/.oh-my-zsh
plugins=(
  git
)
ZSH_THEME="agnoster"
source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
DEFAULT_USER=healy

Again, it works perfectly (and as expected), but only after I run the source command, and that shouldn't be the case.

enter image description here

insipidlight
  • 17
  • 2
  • 5
Trevor
  • 1,284
  • 3
  • 15
  • 33
  • You probably didn't change your default shell : https://apple.stackexchange.com/questions/191780/how-do-i-configure-my-terminal-app-with-bash-and-iterm2-with-zshell-and-oh-my-zs – nevets1219 Jun 04 '18 at 23:29
  • @nevets1219 If that were the case, sourcing a Zsh configuration file would almost certainly cause an error. (Although I'm assuming that `zsh-autosuggestions.zsh` contains *something* that `bash` couldn't interpret properly.) – chepner Jun 08 '18 at 13:52

6 Answers6

24

Make sure your export/source are added after the plugins in your zshrc, as stated in this post: oh-my-zsh config file not loading

kenji
  • 256
  • 2
  • 3
14

On starting a new shell just run the command source ~/.zshrc by configuring in the

Preferences -> Profiles -> Select Default Profile(default profile will be starred) -> General -> Command -> Select Login Shell -> Send text at start:

Enter the value source ~/.zshrc.

You may add source ~/.zshrc; clear in case you need to clear the screen contents after executing the command.

Vignesh Raja
  • 7,927
  • 1
  • 33
  • 42
6

I had the same issue and changing the Shells Open with option fixed this for me.

To get here:

  • Open Preferences for Terminal
  • Select the General Tab
  • Change Sells open with from Default login shell to Command (complete path) with the /bin/zsh in the input box.

Screeshot:

Screenshot

Romi Aujla
  • 93
  • 1
  • 7
1

In my case, oh-my-zsh is not loaded because the line was comment out.

# IT'S WRONG! NEED TO UNCOMMENT
# export ZSH=/Users/$(whoami)/.oh-my-zsh

Though this question is not due to the same "comment out" obviously, I came to a conclusion that, if you need to source ~/.zshrc every time opening a shell instance, there should be some issue with your .zshrc, and check oh-my-zsh and antigen(maybe) work fine.

iplus26
  • 2,518
  • 15
  • 26
1

On 11.2.1 with Terminal 2.11, assuming you have already created .zshrc in your home directory, launch Terminal and select Terminal >> Preferences >> Profiles >> Shell

Under "Startup" check "Run command:" and input source ~/.zshrc

enharmonic
  • 1,800
  • 15
  • 30
-1

for me,It works like this. Profiles 》Open Profiles 》Select “Edit Profiles” 》Profiles 》General and put "source ~/.zsh" into Send text at start textfield.

wuhaiwei
  • 91
  • 1
  • 2