{"id":13398098,"url":"https://github.com/ellerbrock/fish-shell-setup-osx","last_synced_at":"2025-04-09T16:04:22.387Z","repository":{"id":71784013,"uuid":"59508959","full_name":"ellerbrock/fish-shell-setup-osx","owner":"ellerbrock","description":":blowfish: Tutorial: Fish, Fisher, Powerline Fonts + iTerm2","archived":false,"fork":false,"pushed_at":"2018-10-28T18:08:10.000Z","size":44,"stargazers_count":342,"open_issues_count":3,"forks_count":41,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-09T16:04:16.000Z","etag":null,"topics":["budspencer-theme","fish","fisher","iterm2","powerline-fonts","shell"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc-by-4.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ellerbrock.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-05-23T18:38:15.000Z","updated_at":"2025-04-07T22:28:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"c46a022a-b86d-4e0e-8461-65f2b2407290","html_url":"https://github.com/ellerbrock/fish-shell-setup-osx","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ellerbrock%2Ffish-shell-setup-osx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ellerbrock%2Ffish-shell-setup-osx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ellerbrock%2Ffish-shell-setup-osx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ellerbrock%2Ffish-shell-setup-osx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ellerbrock","download_url":"https://codeload.github.com/ellerbrock/fish-shell-setup-osx/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248065289,"owners_count":21041871,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["budspencer-theme","fish","fisher","iterm2","powerline-fonts","shell"],"created_at":"2024-07-30T19:00:16.826Z","updated_at":"2025-04-09T16:04:22.368Z","avatar_url":"https://github.com/ellerbrock.png","language":"Shell","funding_links":[],"categories":["Terminal","Shell","终端","Other Web Development Lists"],"sub_categories":["Shells"],"readme":"![Fish Shell](https://github.frapsoft.com/top/fish-shell.png)\n\n# Fish Shell Setup OS X [![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=102)](https://github.com/ellerbrock/open-source-badge/) [![Gitter Chat](https://badges.gitter.im/frapsoft/frapsoft.svg)](https://gitter.im/frapsoft/frapsoft/)\n\nTerminal Setup for OS X with [Fish Shell](https://fishshell.com/), [Fisher](https://github.com/jorgebucaran/fisher), [Powerline Fonts](https://github.com/powerline/fonts) and [iTerm2](https://www.iterm2.com/).\n\n![Fish Shell](https://github.frapsoft.com/screenshots/fish-shell-v4.jpg)\n\n## Quick Install\n\nCan't wait to run the fish shell?\nYou can run the [install.sh](https://github.com/ellerbrock/tutorial-fish-shell-setup-osx/blob/master/install.sh) to install the [Fish Shell](https://fishshell.com/), [Fisher](https://github.com/jorgebucaran/fisher), [Powerline Fonts](https://github.com/powerline/fonts) and [iTerm2](https://www.iterm2.com/).\n\n`curl https://raw.githubusercontent.com/ellerbrock/fish-shell-setup-osx/master/install.sh | bash`\n\n## iTerm2\n\n- Download and Install [iTerm2](https://www.iterm2.com/) - a better Terminal for OS X.\n- [iTerm2 Color Schemas](http://iterm2colorschemes.com/) - Color Themes for iTerm2\n\n## Powerline Fonts\n\n- \u003chttps://github.com/powerline/fonts\u003e\n- \u003chttps://github.com/gabrielelana/awesome-terminal-fonts\u003e\n\n```\nbrew install fontconfig\ncp /usr/local/etc/fonts/fonts.conf.bak /usr/local/etc/fonts/fonts.conf\n\ngit clone https://github.com/powerline/fonts.git\n./fonts/install.sh\n```\n\n## Fish Shell\n\nFish Shell Installation (latest):\n`brew install fish --HEAD`\n\nadd the shell to the system know shells: `echo /usr/local/bin/fish | sudo tee -a /etc/shells`\n\nmake fish your default shell:\n`chsh -s /usr/local/bin/fish`\n\nThe Fish Shell configuration folder is located under: `~/.config/fish/`\n\nThe main configuration file is: `~/.config/fish/config.fish`, i source here 2 files.\n\n```\nsource ~/.fish_aliases\nsource ~/.fish_variables\n```\n\ncreate a file `~/.fish_variables` to source your variables:\n\n```\n# Setup your Github Token\nset --export HOMEBREW_GITHUB_API_TOKEN \"01010101010101010101010101\"\n\n# add /usr/local/sbin to your PATH Variable\nset --export PATH /usr/local/sbin $PATH\n```\n\ncreate a file `~/.fish_aliases` to source your aliases:\n\n```\nalias l \"ls -alF\"\nalias .. \"cd ..\"\nalias sshserver \"ssh user@server.dev\"\nalias updatedb \"sudo /usr/libexec/locate.updatedb\"\nalias myrsync \"rsync -aihvP\"\n```\n\n## [Fisher](https://github.com/jorgebucaran/fisher) (A package manager for the fish shell)\n\n[GitHub Repository](https://github.com/jorgebucaran/fisher)\n\n### Installation\n\n```\ncurl https://git.io/fisher --create-dirs -sLo ~/.config/fish/functions/fisher.fish\n```\n\n- `fisher` update all\n- `fisher add jethrokuan/z` autocompletion for most used directories\n- `fisher add edc/bass` for better bash compatibility\n- `fisher add Markcial/cprintf` printf with colours\n- `brew install fzf; fisher add jethrokuan/fzf` fuzzing finder\n- `brew install grc; fisher add fisherman/grc` colourizer for terminal apps\n\nSee the [documentation](https://github.com/jorgebucaran/fisher) for details.\n\n## Themes\n\nA [list with screenshots](https://github.com/oh-my-fish/oh-my-fish/blob/master/docs/Themes.md) of available themes.\n\nI like the Budspencer Theme, so lets install it.\n\nMake sure sure you have install Fish in the latest Version (`brew install fish --HEAD`) to run the budspencer theme.\n\n`brew install --with-default-names gnu-sed` install dependencies\n\n`fisher omf/theme-budspencer` install the theme budspencer\n\nTheme Setup:\n\n```\nset -U budspencer_nogreeting\nset -U fish_key_bindings fish_vi_key_bindings\n```\n\n## Tips \u0026 Tricks\n\n`fish_update_completions` run this once in a while to make the fish prompt aware of available commands and parameters\n\n## Update Script\n\nIf you run this more often makes then you can put an alias to this file in your `~/.fish_aliases we talked about above.\n\n```\n#!/usr/bin/env fish\n\necho 'start updating ...'\n\necho 'updating homebrew'\nbrew update\nbrew upgrade\nbrew cleanup\n\necho 'updating fish shell'\nfisher up\nfish_update_completions\n\necho 'updating npm'\nnpm update -g\n\necho 'checking Apple Updates'\n/usr/sbin/softwareupdate -ia\n\nexit 0\n```\n\n## iTerm default screen\n\nI use the terminal a lot and one windows is just not enought for me.\nYou can setup your default window in iTerm2 like you want, mine looks like this:\n\n[![Fish Shell Screenshot](https://github.frapsoft.com/screenshots/fish-shell-v1.png)](https://github.frapsoft.com/screenshots/fish-shell-v1.png)\n\nOne big windows on the left for coding or more detailed stuff and two split windows on the right to quickly fire some commands.\n\nTo Setup your window like you prefare just right click in the iTerms windows and say \"Split Pane Vertically or Horizontally\" to your needs.\nWhen you like it go to \"Window -\u003e Save Window Arrangment\". For the last step go to \"Preferences -\u003e Arrangment\" and set it to default.\nNext time you open iTerms it starts with your prefared awesome window setup.\n\n[![Fish Shell Screenshot](https://github.frapsoft.com/screenshots/fish-shell-v2.png)](https://github.frapsoft.com/screenshots/fish-shell-v2.png)\n\n# Aliases and Exports\n\n## Aliases\n\n```\nalias rmi \"rm -i\"\n\n# This is equivalent to entering the following function:\n\nfunction rmi\n    rm -i $argv\nend\n\nfuncsave\n```\n\n\u003chttp://fishshell.com/docs/current/commands.html#alias\u003e\n\n## Exports\n\n`set -xU APIKEY \"SEC112233\"`\n\n\u003e x == export\n\u003e U == universal - meaning that you can access the Variable from other sessions or terminals as well.\n\n`set --export PATH /usr/local/sbin $PATH` another way to export\n\nMore details can be found here:\n\n- \u003chttp://fishshell.com/docs/2.2/commands.html#set\u003e\n- \u003chttp://fishshell.com/docs/current/tutorial.html#tut_exports\u003e\n\n## Fun Stuff\n\n- [ASCII Font Generator](http://patorjk.com/software/taag/#p=display\u0026f=Doh\u0026t=Frapsoft)\n- [20 Funny Terminal Commands](http://www.tecmint.com/20-funny-commands-of-linux-or-linux-is-fun-in-terminal/)\n- [Open Source Badge](https://github.com/ellerbrock/open-source-badge/)\n\n## Other useful Resources\n\n- [Awesome fish](https://github.com/brj/awesome-fish) - A curated list of awesome tools, prompts and other cool nuggets for the amazing fish-shell.\n- [Fish Shell Cookbook](https://github.com/brj/fish-shell-cookbook) - Tips and recipes for fish, from shell to plate.\n- [Awesome OS X Command Line](https://github.com/herrbischoff/awesome-osx-command-line) - Use your OS X terminal shell to do awesome things.\n\n### Contact / Social Media\n\n_Get the latest News about Web Development, Open Source, Tooling, Server \u0026 Security_\n\n[![Twitter](https://github.frapsoft.com/social/twitter.png)](https://twitter.com/frapsoft/)\n[![Facebook](https://github.frapsoft.com/social/facebook.png)](https://www.facebook.com/frapsoft/)\n[![Google+](https://github.frapsoft.com/social/google-plus.png)](https://plus.google.com/116540931335841862774)\n[![Gitter](https://github.frapsoft.com/social/gitter.png)](https://gitter.im/frapsoft/frapsoft/)\n[![Github](https://github.frapsoft.com/social/github.png)](https://github.com/ellerbrock/)\n\n### Development by\n\nDeveloper / Author: [Maik Ellerbrock](https://github.com/ellerbrock/)\nCompany: [Frapsoft](https://github.com/frapsoft/)\n\n### License\n\n\u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by/4.0/\"\u003e\u003cimg alt=\"Creative Commons License\" style=\"border-width:0\" src=\"https://i.creativecommons.org/l/by/4.0/88x31.png\" /\u003e\u003c/a\u003e\u003cbr /\u003e\n\nThis work by \u003ca xmlns:cc=\"http://creativecommons.org/ns#\" href=\"https://github.com/ellerbrock/\" property=\"cc:attributionName\" rel=\"cc:attributionURL\"\u003eMaik Ellerbrock\u003c/a\u003e is licensed under a \u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by/4.0/\"\u003eCreative Commons Attribution 4.0 International License\u003c/a\u003e.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fellerbrock%2Ffish-shell-setup-osx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fellerbrock%2Ffish-shell-setup-osx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fellerbrock%2Ffish-shell-setup-osx/lists"}