I've been getting into the terminal a lot and really enjoying working with shell scripts, .bashrc, ssh, tmux, etc

I've been getting into the terminal a lot and really enjoying working with shell scripts, .bashrc, ssh, tmux, etc.

I've been wondering, though, about zsh. Some people seem to like it.

What are its benefits over vanilla bash? What are its drawbacks?

Which does Jow Forums prefer and why?

Attached: sadfrog question.png (741x568, 29K)

faggots arguing instead of being productive

Fpbp
/thread

I like fish.

Attached: Terminal_Logo_CRT_Small.png (275x275, 8K)

This

I like zsh for the screen realestate. Having the arrow + current directory is much nicer than full path. Tab selection is comfy too. Honestly it's about preference, whatever you choose wont make you more efficient, just more comfortable.

Yep

zsh is for apple retards who don't read manpages but want a colored PS1

Me too

zsh is like arch, you install it because you see it at the other guys screenfetch, then you post your own and wait for the next guy

You should try zsh+oh-my-zsh (and don't fall in the pretzo meme)

it's better overall. literally the only downside to zsh is that newer bash grammars and features are not necessarily in zsh as well, such as mapfile which is replaced with something like "${(f)whatever_expansion}" instead or not having retarded word splitting by default except for in command expansion and the array initialization syntax.

Worst advice ITT. Learn to make your own aliases instead if bloating your shit up with crap you don.t even understand.

this, also you need to learn what setopts are being called so you understand why your shit isn't working as you expect and that's really only doable by making it yourself or reviewing it.

same reasons I'm anti "spacemacs"

Stick with bash until you at least know what it can do.
This is my inputrc:
"\e[A":history-search-backward
"\e[B":history-search-forward
"\e[1;5C":forward-word
"\e[1;5D":backward-word
"\e[5C":forward-word
"\e[5D":backward-word
"\e\e[C":forward-word
"\e\e[D":backward-word
"\e[1~":beginning-of-line
"\e[4~":end-of-line
"\e[3~":delete-char
"\e[2~":quoted-insert

The first two lines are crucial for me to add to any system I work on. It gives a much way to use the history by enabling up/down arrow keys.

What useful aliases do you guys use? Here are mine:
alias mkdir='mkdir -p'
alias ...='cd ../..'
alias sf='clear && screenfetch -t'
alias vn='viewnior'
alias z='clear'
alias ..='cd ..'
alias md='mkdir -p'
alias sb='source ~/.bashrc'
alias sx='xrdb -merge ~/.Xresources'
alias e='exit'
alias gs='git status'
alias gcs='clear && git status'
alias s='sudo'
alias v='vim'
alias p='python'
alias n='node'
alias l='less'
alias vt='vim todo.txt'
alias sv='sudo vim'
alias tm='tmux'
alias tms='tmux new -s'
alias ta='tmux attach'
alias tas='tmux attach -t'
alias .b='vim ~/.bashrc && source ~/.bashrc'
alias .v='vim ~/.vimrc'
alias du='du -kh'
alias df='df -kTh'
alias ls='ls -h --color'
# Package manager
alias ainstall='sudo apt install'
alias aremove='sudo apt purge'
alias asearch='apt-cache search'
alias aupdate='sudo apt update'
alias aupgrade='sudo apt upgrade -y'
alias aar='sudo apt autoremove -y'
alias aall='sudo apt update && sudo apt dist-upgrade -y && sudo apt autoremove -y'
alias delswapfiles='find ./ -type f -name "\.*sw[kvlmnop]" -delete'
# Django Manage.py
alias mp='./manage.py'
alias mpr='./manage.py runserver'
alias mpt='./manage.py test'
# npm
alias npm='npm --verbose'
alias ns='npm start'
alias nr='npm run'
alias ni='npm install'
alias nis='npm install --save'
alias nid='npm install --save-dev'
alias art='php artisan'
# Utils
alias batchPNGtoJPGallInFolder='mogrify -format jpg *.png'
alias pg='ping google.com'
# Locations
alias pics='cd ~/Media/Sync/Pictures/'
alias gif='cd ~/Media/Sync/Pictures/gif/'
alias d='cd ~/Downloads'
alias t='cd ~/tmp'
alias m='cd ~/Media'
alias pr='cd ~/Projects'
alias sand='cd ~/Sandbox'

install gentoo

>Having the arrow + current directory is much nicer than full path
This isn't a feature exclusively to zsh, you can do this with bash just as well.

I use it for the completion, it's better than what bash has to offer in that area and is quicker. That's about it for me.

It has better tab complete and there is support for extensions.

Don't bother tho ,its a waste of time. Nobody uses it in production so just stick to bash unless you want your personal environment to be different then production which will cause friction.

Don't become overly dependent on tab completion anyway. Setting temporary aliases and getting good with man pages is much more efficient

it isn't?

last I checked only zsh can do /u/l/b -> tab -> /usr/local/bin

That's just a completion algorithm, they are scriptable on both.

Zsh has a lot of nice features like a drop down menu for tab completion.

Attached: Screenshot_20180414_192522.png (1920x1080, 80K)