Yep! I did take a look at oh-my-zsh but decided not to go that route, I didn't like the aesthetic of many of the themes and Bash is capable of a lot of zsh's features now.
zsh is broken and breaks X times per year. It's annoying, really. I'm tired of wasting time configuring terminals time and again because the new version of XYZ package is broken.
Anyone who does not enjoy spending huge amounts of time trouble-shooting on the terminal should use bash. It's the default in most distributions, it supports all major features a modern shell should.
Never ran into any problems with vanilla zsh on Arch, Debian, or OSX -- just pacman -Ss zsh || apt-get install zsh || brew install zsh. What kind of problems did you run into?
Calling this "Bootstrap for Bash" is pretty disingenuous, all I can see are a bunch of configuration files that are very basic and hard-coded to your own usage.
Actually, it looks like Bashstrap is a fork of https://github.com/mathiasbynens/dotfiles. A lot of the commands, file structure, and even parts of the readme are a direct copy-paste…
I thank you for that repo. I forked, customised, and occasionally cherry-pick from dotfiles, and it has improved my everyday terminal use significantly.
The one area where I see this lacking is git autocomplete. Also personally I wouldn't use the `s .` command for Sublime... maybe you could make some of the aliases configurable rather than default?
Do you know your username when you are using connected to a tmux over ssh that may or may not have another, very similar, server running inside of a screen?
Which is why you setup your shell (bash/zsh/fish) to check for the existence of $SSH_CLIENT. If it exists, you can assume you're connecting via SSH and add username and hostname to $PS1.
This is quite sad, for a better alternative starter check out Paul Irish's which seems to be based on mathias's. The link is here: https://github.com/paulirish/dotfiles
Indeed, looks like Bashstrap is a fork of my dotfiles (without giving any credit, sadly). A lot of the commands, file structure, and even parts of the readme are a direct copy-paste.
Bootstrap for your terminal. A quick way to spruce up OSX terminal. It cuts out the fluff, adds in timesaving features, and provides a solid foundation for customizing your terminal style. Based on Mathias Bynens epic dotfiles - https://github.com/mathiasbynens/dotfiles*
I think that it should be especially appreciated by those who use OSX for its "it just works" approach. A couple of pro tips:
* Instead of running chsh to change your default login shell just change the shell command for Terminal.app it iTerm. This means that scripts in cron etc will still run under bash and you won't break anything accidentally.
* Just like with zsh if you want to get customized there is something called oh-my-fish that helps a bit, but seriously you're 90% there with the defaults.
Agreed. In my experience fish just runs a heck of a lot faster than either zsh or bash as well as adding some features I love, like the command syntax highlighting and autocomplete. I couldn't see myself going back to either of those after using it for an extended period of time.
I tried it, then went back to bash. I'm not really sure why. I also tried zsh some time ago, then went back to bash. I rather like fish, it's a cool construct, and I can appreciate its features. But somehow I found that I didn't really gain anything from them, so I went back to bash. I honestly admit I'm not sure why -- fish is really cool, and zsh is really cool, but I didn't adapt the new features to my day to day usage.
Clicked on comments to say the same. When I discovered fish, I felt like "where have I been".
But there's one downside though: I got used (used as in muscle reflexes) to things like ls -l `where something` and they do not work anymore, fish is not backwards compatible with bash.
Fish is wonderful, but as someone who is novice to middling in skill (2 years), I found the fact that it had a different set of syntaxes to be difficult to work with. Instructions for random things to install I found all used bash syntax, which broke when used in fish.
I've since switched to zsh, and I am terribly happy with it. It has a lot of the nice advanced features that fish has, without breaking from bash syntax.
I've never had any trouble using chsh to make fish the default shell. Bash scripts in crontabs still run under bash -- not sure why anyone would think otherwise. Plus, changing the shell command for iTerm/Terminal won't help with remote servers, so using chsh everywhere means you always get a consistent shell experience, no matter whether you're using your terminal locally or remotely.
I would like to use fish shell but my .bash_profile is setup exactly as I want it, and when I've switched to other shells before (zsh) it has been a general pain in the ass. How do I retain my current bash settings in fish shell?
I'm a zsh-er and use oh-my-zsh, but I borrowed the syntax highlighting, called it `sat` short for "source cat", and piped through less for paginated output:
# before use: [sudo] easy_install pygments
alias sat='pygmentize -O style=monokai -f console256 -g | less'
I like these kinds of projects, because someone always shows me something in my set up I don't have, and it's really trivial to borrow from them.
In return, I feel everyone should have a proper git log alias, here's mine:
alias logg="git log --graph --oneline --all --decorate --abbrev-commit"
The one thing I always add to my profile is "export COMMAND_MODE=unix2003". This will make some commands behave as you would expect them to under Linux instead of BSD.
Don't recall seeing that in my brief scan of the dotfiles.
51 comments
[ 3.6 ms ] story [ 126 ms ] threadA (much) better alternative would be to install zsh with oh-my-zsh (https://github.com/robbyrussell/oh-my-zsh).
Were some new features added to Bash that were present in zsh?
Anyone who does not enjoy spending huge amounts of time trouble-shooting on the terminal should use bash. It's the default in most distributions, it supports all major features a modern shell should.
I'd go further and say anyone who prefers Bash is someone who does not mind a little or even a lot of fluff.
Bootstrap for your terminal. A quick way to spruce up OSX terminal. It cuts out the fluff, adds in timesaving features, and provides a solid foundation for customizing your terminal style. Based on Mathias Bynens epic dotfiles - https://github.com/mathiasbynens/dotfiles*
Or was that added after posting it here?
https://github.com/sorin-ionescu/prezto
which is a very nice alternative and much smaller.
http://fishshell.com
I think that it should be especially appreciated by those who use OSX for its "it just works" approach. A couple of pro tips:
* Instead of running chsh to change your default login shell just change the shell command for Terminal.app it iTerm. This means that scripts in cron etc will still run under bash and you won't break anything accidentally.
* Just like with zsh if you want to get customized there is something called oh-my-fish that helps a bit, but seriously you're 90% there with the defaults.
I've since switched to zsh, and I am terribly happy with it. It has a lot of the nice advanced features that fish has, without breaking from bash syntax.
I've never had any trouble using chsh to make fish the default shell. Bash scripts in crontabs still run under bash -- not sure why anyone would think otherwise. Plus, changing the shell command for iTerm/Terminal won't help with remote servers, so using chsh everywhere means you always get a consistent shell experience, no matter whether you're using your terminal locally or remotely.
http://www.gnu.org/software/mcron/manual/html_node/Crontab-f...
The ticket for it has been open for 2 years but it seems that it's finally getting close to implementation...
https://github.com/fish-shell/fish-shell/issues/65
In return, I feel everyone should have a proper git log alias, here's mine:
Example output: http://d.pr/i/B9LTDon't recall seeing that in my brief scan of the dotfiles.
Why would I want a terminal command for using a GUI editor?
Why would I want a GUI editor at all?
Because you use Sublime Text and you spend a lot of time at the CLI?