All Projects â†’ ellerbrock â†’ Fish Shell Setup Osx

ellerbrock / Fish Shell Setup Osx

Licence: cc-by-4.0
ðŸĄ Tutorial: Fish, Fisher, Powerline Fonts + iTerm2

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Fish Shell Setup Osx

Dotfiles
ðŸ‘ū ~/
Stars: ✭ 91 (-72.17%)
Mutual labels:  fish, iterm2
Autocomplete
Autocomplete for terminals on MacOS
Stars: ✭ 569 (+74.01%)
Mutual labels:  fish, iterm2
Mac Bootstrap
ðŸ’ŧ Provision a new Mac for web development with dotfiles + Fish/Zsh, Neovim, and Tmux
Stars: ✭ 96 (-70.64%)
Mutual labels:  fish, iterm2
Dotfiles
Configurations for the tools I use every day
Stars: ✭ 898 (+174.62%)
Mutual labels:  fish, iterm2
Iterm Fish Fisher Osx
Complete guide and Bash script to install Command Line Tools + Homebrew + iTerm2 + Fish Shell + Fisher + Plugins for development purposes
Stars: ✭ 249 (-23.85%)
Mutual labels:  fish, iterm2
GIT
📚 GIT ė‚ŽėšĐëē•ė„ ë°°ė›Œ ëī…ė‹œë‹Ī ðŸ”Ĩ
Stars: ✭ 63 (-80.73%)
Mutual labels:  iterm2
Term Img
Display images in iTerm
Stars: ✭ 275 (-15.9%)
Mutual labels:  iterm2
fish-command-timer
Fish shell extension for printing execution time for each command.
Stars: ✭ 97 (-70.34%)
Mutual labels:  fish
tii
Command not found? Install it right there!
Stars: ✭ 27 (-91.74%)
Mutual labels:  fish
G
Simple go version manager, gluten-free
Stars: ✭ 307 (-6.12%)
Mutual labels:  fish
Cod
cod is a completion daemon for bash/fish/zsh
Stars: ✭ 288 (-11.93%)
Mutual labels:  fish
Ltfinderbuttons
My Finder buttons collection for macOS.
Stars: ✭ 269 (-17.74%)
Mutual labels:  iterm2
dotfiles
My arch setup script and dotfiles
Stars: ✭ 37 (-88.69%)
Mutual labels:  fish
Radian
🍉 Dotfiles that marry elegance and practicality.
Stars: ✭ 274 (-16.21%)
Mutual labels:  iterm2
basalt
The rock-solid Bash package manager
Stars: ✭ 16 (-95.11%)
Mutual labels:  fish
Spaceduck
🚀 ðŸĶ† An intergalactic space theme for Vim, Terminal, and more!
Stars: ✭ 177 (-45.87%)
Mutual labels:  iterm2
fish
🧛ðŸŧ‍♂ïļ Dark theme for fish
Stars: ✭ 44 (-86.54%)
Mutual labels:  fish
Zsh Apple Touchbar
Make your touchbar more powerful.
Stars: ✭ 261 (-20.18%)
Mutual labels:  iterm2
Fishtape
100% pure-Fish test runner.
Stars: ✭ 283 (-13.46%)
Mutual labels:  fish
Itomate
Automate your iTerm layouts and session setup
Stars: ✭ 262 (-19.88%)
Mutual labels:  iterm2

Fish Shell

Fish Shell Setup OS X Open Source Love Gitter Chat

Terminal Setup for OS X with Fish Shell, Fisher, Powerline Fonts and iTerm2.

Fish Shell

Quick Install

Can't wait to run the fish shell? You can run the install.sh to install the Fish Shell, Fisher, Powerline Fonts and iTerm2.

curl https://raw.githubusercontent.com/ellerbrock/fish-shell-setup-osx/master/install.sh | bash

iTerm2

Powerline Fonts

brew install fontconfig
cp /usr/local/etc/fonts/fonts.conf.bak /usr/local/etc/fonts/fonts.conf

git clone https://github.com/powerline/fonts.git
./fonts/install.sh

Fish Shell

Fish Shell Installation (latest): brew install fish --HEAD

add the shell to the system know shells: echo /usr/local/bin/fish | sudo tee -a /etc/shells

make fish your default shell: chsh -s /usr/local/bin/fish

The Fish Shell configuration folder is located under: ~/.config/fish/

The main configuration file is: ~/.config/fish/config.fish, i source here 2 files.

source ~/.fish_aliases
source ~/.fish_variables

create a file ~/.fish_variables to source your variables:

# Setup your Github Token
set --export HOMEBREW_GITHUB_API_TOKEN "01010101010101010101010101"

# add /usr/local/sbin to your PATH Variable
set --export PATH /usr/local/sbin $PATH

create a file ~/.fish_aliases to source your aliases:

alias l "ls -alF"
alias .. "cd .."
alias sshserver "ssh [email protected]"
alias updatedb "sudo /usr/libexec/locate.updatedb"
alias myrsync "rsync -aihvP"

Fisher (A package manager for the fish shell)

GitHub Repository

Installation

curl https://git.io/fisher --create-dirs -sLo ~/.config/fish/functions/fisher.fish
  • fisher update all
  • fisher add jethrokuan/z autocompletion for most used directories
  • fisher add edc/bass for better bash compatibility
  • fisher add Markcial/cprintf printf with colours
  • brew install fzf; fisher add jethrokuan/fzf fuzzing finder
  • brew install grc; fisher add fisherman/grc colourizer for terminal apps

See the documentation for details.

Themes

A list with screenshots of available themes.

I like the Budspencer Theme, so lets install it.

Make sure sure you have install Fish in the latest Version (brew install fish --HEAD) to run the budspencer theme.

brew install --with-default-names gnu-sed install dependencies

fisher omf/theme-budspencer install the theme budspencer

Theme Setup:

set -U budspencer_nogreeting
set -U fish_key_bindings fish_vi_key_bindings

Tips & Tricks

fish_update_completions run this once in a while to make the fish prompt aware of available commands and parameters

Update Script

If you run this more often makes then you can put an alias to this file in your `~/.fish_aliases we talked about above.

#!/usr/bin/env fish

echo 'start updating ...'

echo 'updating homebrew'
brew update
brew upgrade
brew cleanup

echo 'updating fish shell'
fisher up
fish_update_completions

echo 'updating npm'
npm update -g

echo 'checking Apple Updates'
/usr/sbin/softwareupdate -ia

exit 0

iTerm default screen

I use the terminal a lot and one windows is just not enought for me. You can setup your default window in iTerm2 like you want, mine looks like this:

Fish Shell Screenshot

One big windows on the left for coding or more detailed stuff and two split windows on the right to quickly fire some commands.

To Setup your window like you prefare just right click in the iTerms windows and say "Split Pane Vertically or Horizontally" to your needs. When you like it go to "Window -> Save Window Arrangment". For the last step go to "Preferences -> Arrangment" and set it to default. Next time you open iTerms it starts with your prefared awesome window setup.

Fish Shell Screenshot

Aliases and Exports

Aliases

alias rmi "rm -i"

# This is equivalent to entering the following function:

function rmi
    rm -i $argv
end

funcsave

http://fishshell.com/docs/current/commands.html#alias

Exports

set -xU APIKEY "SEC112233"

x == export U == universal - meaning that you can access the Variable from other sessions or terminals as well.

set --export PATH /usr/local/sbin $PATH another way to export

More details can be found here:

Fun Stuff

Other useful Resources

Contact / Social Media

Get the latest News about Web Development, Open Source, Tooling, Server & Security

Twitter Facebook Google+ Gitter Github

Development by

Developer / Author: Maik Ellerbrock Company: Frapsoft

License

Creative Commons License

This work by Maik Ellerbrock is licensed under a Creative Commons Attribution 4.0 International License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].