Mac için Zsh ve Oh My Zsh kurulumu

— macOS ortamında developer dostu bir araç daha —

Bir önceki yazımda yazılım geliştiriciler için mac ortamı kurulumuyla ilgili yazı yayımlamıştım. Bu yazımda zsh ve oh my zsh kurulumunu anlatacağım. Kurulum için homebrew gerektiğinden eğer mac’inizde kurulu değilse kurmanız gerekmektedir. (developer’lar için mac ortamı kurulumu)

Zsh, aynı “Bash” gibi bir komut dili yorumlayıcısıdır. Kendisini bash’ten ayıran birçok kullanışlı özelliği vardır.

Mac’teki bash sürümü zaten eski olduğundan onu güncellemeniz gerekebilir, Zsh kurmak, bash sürümünü güncellemekten daha mantıklı.

Not: Ben bu yazıyı yazarken güncel bash versiyonu 4.5.x, macOs Sierra ile gelen bash versiyonu 3.2 idi.

Temel Zsh Özellikleri

- Tab ile tamamlama(Tab completion): Klasör isimleri, komutlar ve olabilecek klasör/komutlar listesini gösterir.
Örneğin: /u yazıp tab’e basarsanız /us’a tamamlar, tekrar tab’e bastığınız zaman hemen altta olabilecek klasörleri gösterir. e yazıp /use olduğu zaman tab’e basarsanız yine /Users/ olarak tamamlar. ( Seçenekler geldiği zaman tab tuşu ile seçenekleri seçip enter’a basıp seçebilirsiniz)
- Geçmiş (History): Birden çok terminal açtığınız zaman bunların hepsini bir geçmişte toplar.
- Cd: “cd” komutunu yazmadan klasör ismini yazıp o klasöre gidebilirsiniz.
- Globbing: Örneğin sonu py ile biten dosyaları listelemek için ls *.py, sonu xml ile biten dosyaları da silebilirsiniz rm -rf *.xml
- Alias: oh my zsh ile kullanışlı aliaslar. Örneğin git status yerine gst yazabilirsiniz, git alias’larını görmek için bu komutu çalıştırabilirsiniz. alias | grep git

Oh My ZSH

Zsh ayarlarını/pluginlerini yönetmek için bir framework, bunu kullanmadan da olmazdı zaten. Config dosyasından çok basit yönetim sağlıyor.

Zsh Temaları: https://github.com/robbyrussell/oh-my-zsh/wiki/themes
Zsh Pluginleri: https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins

Not: IDE’lerde kullanmak istiyorsanız ide’nin terminal ayarlarından bin/bash yerine bin/zsh seçmeniz gerekebilir.

Kurulum

  1. Zsh Kurulumu
$ brew install zsh zsh-completions

2. Oh-My-Zsh Kurulumu

$ sh -c “$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

3. Ayarlar

Kendi kullandığım ayarlardan bazılarını paylaşıyorum.

Temayı random seçerseniz her oturumda farklı tema yüklenir.

ZSH_THEME="random"
plugins=(git osx mvn node npm aws bower brew brew-cask cp docker git-extras git-flow gradle grunt gulp colored-man-pages sudo vagrant z)
alias ip='dig +short myip.opendns.com @resolver1.opendns.com'
alias localip='ipconfig getifaddr en0'
alias ips="ifconfig -a | grep -o 'inet6\? \(addr:\)\?\s\?\(\(\([0-9]\+\.\)\{3\}[0-9]\+\)\|[a-fA-F0-9:]\+\)' | awk '{ sub(/inet6? (addr:)? ?/, \"\"); print }'"
alias w='which'
alias ll='l -A'
alias ld='l | grep "^d"'
alias hhosts='sudo vi /etc/hosts'
alias wifion='networksetup -setairportpower en0 on'
alias wifioff='networksetup -setairportpower en0 off'
alias wifirestart='wifioff && wifion'