94 KiB
Available themes
- agnoster
- batman
- beloglazov
- bira
- bobthefish
- budspencer
- cbjohnson
- chain
- clearance
- cmorrell
- coffeeandcode
- cor
- cyan
- dangerous
- default
- eclm
- edan
- eden
- es
- fishbone
- fishface
- fishy-drupal
- fisk
- flash
- fox
- gianu
- gitstatus
- gnuykeaj
- godfather
- hulk
- idan
- integral
- jacaetevha
- kawasaki
- krisleech
- l
- lambda
- lolfish
- mars
- mokou
- mtahmed
- nai
- nelsonjchen
- numist
- ocean
- pastfish
- perryh
- plain
- pure
- red-snapper
- robbyrussell
- scorphish
- shellder
- simple-ass-prompt
- simplevi
- slavic-cat
- sushi
- syl20bnr
- taktoa
- technopagan
- toaster
- tomita
- trout
- uggedal
- will
- yimmy
- zish
agnoster
agnoster
A fish theme optimized for people who use:
- Solarized
- Git
- Mercurial (requires 'hg prompt')
- SVN
- Unicode-compatible fonts and terminals (I use iTerm2 + Menlo)
- Fish Vi-mode
For Mac users, I highly recommend iTerm 2 + Solarized Dark
Characteristics
- If the previous command failed (✘)
- User @ Hostname (if user is not DEFAULT_USER, which can then be set in your profile)
- Git/HG/SVN status
- Branch () or detached head (➦)
- Current branch / SHA1 in detached head state
- Dirty working directory (±, color change)
- Working directory
- Elevated (root) privileges (⚡)
- Current virtualenv (Python)
You will probably want to disable the default virtualenv prompt. Add to yourinit.fish
:
set --export VIRTUAL_ENV_DISABLE_PROMPT 1
- Indicate vi mode.
Ported from https://gist.github.com/agnoster/3712874.
batman
Batman
A Oh My Fish theme inspired by Batman.
Features
From left to right:
$HOME
directory abbreviated to^^
- Path to current working directory is abbreviated.
- Arrow symbol
>>>
becomes red if last$status
was!= 0
- Display exit status for non zero codes (Not shown in the picture)
^
character denotes the current repository has stashed changes.*
character denotes the current repository is dirty.- Display current branch.
- Display number of commits in relation to the current branch.
- Display current time.
- Batman inspired colors.
Screenshot
License
[MIT][mit] © [Jorge Bucaran][author] et al
Disclaimer: This work is not intended to infringe on any rights by and of the companies and/or individuals involved in the production of any series mentioned here. I don't own Batman.
beloglazov
beloglazov
A theme based on the default robbyrussell theme. This theme adds time, the
number of non-pushed commits, and whether the previous command has failed.
Characteristics
- Displays git information in the command prompt when available
- Displays the number of non-pushed git commits
- Displays the current time
- Displays ✘ if the previous command failed
bira
bira
Theme imported from Oh my ZSH: https://github.com/robbyrussell/oh-my-zsh/blob/master/themes/bira.zsh-theme
Contains traces of nuts and code from other Oh my fish themes.
Display username, hostname, current path, ruby version and git status. Display the latest error status in the right prompt.
TODO:
- display Python version
bobthefish
bobthefish
bobthefish
is a Powerline-style, Git-aware fish theme optimized for awesome.
Installation
Be sure to have Oh My Fish installed. Then just:
omf install bobthefish
You will need a Powerline-patched font for this to work, unless you enable the compatibility fallback option:
set -g theme_powerline_fonts no
I recommend picking one of these. For more advanced awesome, install a nerd fonts patched font, and enable nerd fonts support:
set -g theme_nerd_fonts yes
This theme is based loosely on agnoster.
Features
- A helpful, but not too distracting, greeting.
- A subtle timestamp hanging out off to the right.
- Powerline-style visual hotness.
- More colors than you know what to do with.
- An abbreviated path which doesn't abbreviate the name of the current project.
- All the things you need to know about Git in a glance.
- Visual indication that you can't write to the current directory.
The Prompt
- Flags:
- Previous command failed (
!
) - Background jobs (
%
) - You currently have superpowers (
$
)
- Previous command failed (
- Current vi mode
User@Host
(unless you're the default user)- Current RVM, rbenv or chruby (Ruby) version
- Current virtualenv (Python) version
- If you use virtualenv, you will probably need to disable the default virtualenv prompt, since it doesn't play nice with fish:
set -x VIRTUAL_ENV_DISABLE_PROMPT 1
- If you use virtualenv, you will probably need to disable the default virtualenv prompt, since it doesn't play nice with fish:
- Abbreviated parent directory
- Current directory, or Git or Mercurial project name
- Current project's repo branch ( master) or detached head (
➦
d0dfd9b
) - Git or Mercurial status, via colors and flags:
- Dirty working directory (
*
) - Untracked files (
…
) - Staged changes (
~
) - Stashed changes (
$
) - Unpulled commits (
-
) - Unpushed commits (
+
) - Unpulled and unpushed commits (
±
) - Note that not all of these have been implemented for hg yet :)
- Dirty working directory (
- Abbreviated project-relative path
Configuration
You can override some of the following default options in your config.fish
:
set -g theme_display_git no
set -g theme_display_git_untracked no
set -g theme_display_git_ahead_verbose yes
set -g theme_git_worktree_support yes
set -g theme_display_vagrant yes
set -g theme_display_docker_machine no
set -g theme_display_hg yes
set -g theme_display_virtualenv no
set -g theme_display_ruby no
set -g theme_display_user yes
set -g theme_display_vi no
set -g theme_display_date no
set -g theme_display_cmd_duration yes
set -g theme_title_display_process yes
set -g theme_title_display_path no
set -g theme_title_use_abbreviated_path no
set -g theme_date_format "+%a %H:%M"
set -g theme_avoid_ambiguous_glyphs yes
set -g theme_powerline_fonts no
set -g theme_nerd_fonts yes
set -g theme_show_exit_status yes
set -g default_user your_normal_user
set -g theme_color_scheme dark
set -g fish_prompt_pwd_dir_length 0
set -g theme_project_dir_length 1
Title options
theme_title_display_process
. By default theme doesn't show current process name in terminal title. If you want to show it, just set toyes
.theme_title_display_path
. Useno
to hide current working directory from title.theme_title_use_abbreviated_path
. Default isyes
. This means your home directory will be displayed as~
and/usr/local
as/u/local
. Set it tono
if you prefer full paths in title.
Prompt options
theme_display_ruby
. Useno
to completely hide all information about Ruby version. By default Ruby version displayed if there is the difference from default settings.theme_display_vagrant
. This feature is disabled by default, useyes
to display Vagrant status in your prompt. Please note that only the VirtualBox and VMWare providers are supported.theme_show_exit_status
. Set this option to yes to have the prompt show the last exit code if it was non_zero instead of just the exclamation mark.theme_git_worktree_support
. If you do any git worktree shenanigans, setting this toyes
will fix incorrect project-relative path display. If you don't do any git worktree shenanigans, leave it disabled. It's faster this way :)fish_prompt_pwd_dir_length
. bobthefish respects the Fish$fish_prompt_pwd_dir_length
setting to abbreviate the prompt path. Set to0
to show the full path,1
(default) to show only the first character of each parent directory name, or any other number to show up to that many characters.theme_project_dir_length
. The same as$fish_prompt_pwd_dir_length
, but for the path relative to the current project root. Defaults to0
; set to any other number to show an abbreviated path.
Color scheme options
![dark][dark] | |
---|---|
You can use the function __bobthefish_display_colors
to preview the prompts in
the current theme.
Set theme_color_scheme
in a terminal session or in your fish startup files to
one of the following options to change the prompt colors.
dark
. The default bobthefish theme.light
. A lighter version of the default theme.solarized
(orsolarized-dark
),solarized-light
. Dark and light variants
of Solarized.base16
(orbase16-dark
),base16-light
. Dark and light variants of the
default Base16 theme.zenburn
. An adaptation of Zenburn.gruvbox
. An adaptation of gruvbox.
Some of these may not look right if your terminal does not support 24 bit color,
in which case you can try one of the terminal
schemes (below). However, if
you're using Solarized, Base16 (default), or Zenburn in your terminal and the
terminal does support 24 bit color, the built in schemes will look nicer.
There are several scheme that use whichever colors you currently have loaded
into your terminal. The advantage of using the schemes that fall through to the
terminal colors is that they automatically adapt to something acceptable
whenever you change the 16 colors in your terminal profile.
terminal
(orterminal-dark
orterminal-dark-black
)terminal-dark-white
. Same asterminal
, but use white as the foreground
color on top of colored segments (in case your colors are very dark).terminal-light
(orterminal-light-white
)terminal-light-black
. Same asterminal-light
, but use black as the
foreground color on top of colored segments (in case your colors are very
bright).
For some terminal themes, like dark base16 themes, the path segments in the
prompt will be indistinguishable from the background. In those cases, try one of
the following variations; they are identical to the terminal
schemes except
for using bright black (brgrey
) and dull white (grey
) in the place of black
and bright white.
terminal2
(orterminal2-dark
orterminal2-dark-black
)terminal2-dark-white
terminal2-light
(orterminal2-light-white
)terminal2-light-black
Finally, you can specify your very own color scheme by setting
theme_color_scheme
to user
. In that case, you also need to define some
variables to set the colors of the prompt. See the "Colors" section of
fish_prompt.fish
for details.
Overrides
You can disable the theme default greeting, vi mode prompt, right prompt, or title entirely — or override with your own — by adding custom functions to ~/.config/fish/functions
:
~/.config/fish/functions/fish_greeting.fish
~/.config/fish/functions/fish_mode_prompt.fish
~/.config/fish/functions/fish_right_prompt.fish
~/.config/fish/functions/fish_title.fish
To disable them completely, use an empty function:
function fish_right_prompt; end
… Or copy one from your favorite theme, make up something of your own, or copy/paste a bobthefish default function and modify it to your taste!
function fish_greeting
set_color $fish_color_autosuggestion
echo "I'm completely operational, and all my circuits are functioning perfectly."
set_color normal
end
budspencer
Budspencer theme
A theme for nerds, makes fish even more powerful. It's equipped with a hell of a
lot of nice functions and key bindings to speed up your workflow.
The philosophy behind budspencer theme:
- Delimit the prompt lines clearly to the output.
- Produce output only if it contains relevant information.
- Show useful notifications within the prompt.
- Equip the prompt with toggle commands in order to change its style
interactively. - Store sessions in order to make frequently used commands quickly accessible.
- Make navigation within the directory tree as easy as possible using
bookmarks and a directory history without duplicates. - Make histories quickly accessible with menus.
- Don't stress your eyes. Use different colors in dark and bright environments.
Demonstration video
Requirements
You need an up-to-date fish shell version from github or a
nightly build.
Non standard tools:
- xsel
- wmctrl
- git
- taskwarrior (optional)
- remind (optional)
Note for OS X users
The theme uses advanced sed
and expr
features. The OS X tools have
restricted functionality.
Try expr
from coreutils
package if you see expr: syntax error
in
budspencer prompt.
Execute brew install --with-default-names gnu-sed
if there are
Array index out of bounds
messages in your prompt.
Configuration
General configuration
The theme behaves similar to vim's airline/powerline plugins. Thus, it needs a
powerline font.
It's also crucial to have vi mode enabled. Thus, execute
set -U fish_key_bindings fish_vi_key_bindings
before enabling the theme.
Colors
Redefine $budspencer_colors
with the set
command in order to change the
colors of the prompt.
Example:
set budspencer_colors 000000 333333 666666 ffffff ffff00 ff6600 ff0000 ff0033 3300ff 0000ff 00ffff
00ff00
will result in a prompt like this:
Two color schemes for bright and dark environments are predefined. You can
enable them with day
and night
, respectively.
Command history
Commands that shouldn't appear in the command history are defined by a universal
list $budspencer_nocmdhist
. Default:
set -U budspencer_nocmdhist c d ll ls m s
Disable/reenable greeting
Disable:
set -U budspencer_nogreeting
Reenable:
set -e budspencer_nogreeting
Outer prompt segments
- Vi mode is indicated by color of outer segments, cursor color also changes
if terminal supports it:- blue: NORMAL mode
- yellow: INSERT mode
- magenta: VISUAL mode
Left prompt segments
- Prompt line number
- Git repository information
- Status symbols
- ✻: keep track of this shell session, can be toggled with
#
to show the number of
the session within the sessions list - ⌘: present working directory is in bookmark list, can be toggled with
#
to
show the number of the bookmark - V: vi is parent process
- R: ranger is parent process
- ⚙: there are background jobs, can be toggled with
#
to show the amount of
background jobs - : no write permissions in present working directory
- ⚔: there are tasks scheduled for this week, can be toggled with
#
to
show the amount of weekly tasks - ⚑: there are appointments for today, can be toggled with
#
to
show the amount of appointments - ✔: last command succeeded, can be toggled with
#
to show the status value - ✘: last command failed, can be toggled with
#
to show the status value - ⚡: superuser indicator
- ✻: keep track of this shell session, can be toggled with
- Present working directory
- Active Python virtual environment. Requires Virtual Fish
Right prompt segments
- Last command's duration time
- Git status symbols:
- ↑: git repository is ahead origin
- ↓: git repository is behind origin
- +: changes have been added to git index
- –: files have been deleted in work tree
- ✱: files have been modified in work tree
- →: files have been renamed in git index
- ═: there are unmerged commits
- ●: there are untracked (new) files
- ✭: there are stashed commits
Toggle prompt segments
The following shortcuts need vi-mode:
- Style of "present working directory"-segment can be toggled in NORMAL and in
VISUAL mode with space bar- styles implemented:
short
(shows username, short hostname and truncated path; recommended in
most cases)long
(shows username, full hostname and full path; useful for copy-paste
in ssh connections)none
(shows nothing except small delimiter; useful for small terminals)- If prompt is toggled with
#
, the IP address is shown instead of the
hostname.
- configurable by universal list
$budspencer_pwdstyle
(if not set, defaults to
short long none
); note that changes to$budspencer_pwdstyle
keep persistant as it's
a universal variable.
- styles implemented:
- Style of symbols can be toggled in NORMAL and in VISUAL mode with
#
- styles implemented:
symbols
(shows status symbols)numbers
(shows numbers instead of symbols in left prompt as well as amount of changes in
right git prompt)
- styles implemented:
Note, the format is username@hostname:pathname. Thus, you can cut
the whole string with your mouse and paste it into ssh
commands.
Quickly navigate in history of working directories
The function d
drops down a menu showing the history as enumerated list. Unlike
fish's builtin dirh
, d
does not show any duplicates. Enter a number to jump
to a directory within the list.
The following shortcuts need vi-mode:
- Press
H
in NORMAL mode to change present working directory to previous
working directory in history. - Press
L
in NORMAL mode to change present working directory to next working
directory in history.
Quickly navigate in command history
The function c
drops down a menu showing the command history as enumerated list similarly to
the d
function. Selections are also pasted into the X clipboard. It's possible
to load a command of a former prompt by giving the prompt line number as
argument.
Bookmarks
A bookmark can be created with mark
. It can be removed with unmark
.
Bookmarks are universal and thus persistant.
A new shell automatically changes working directory on startup to newest bookmark.
m
is a function that drops down a menu showing the bookmarks as enumerated list
equivalently to d
.
The following shortcuts need vi mode:
- Create a bookmark for present working directory with
m
in NORMAL mode. - Remove a bookmark for present working directory with
M
in NORMAL mode.
Edit commandline with your favorite editor
The function edit-commandline
let you edit the commandline with your editor.
It makes the commandline as powerful as your editor. If $EDITOR
is not set,
vi is used.
The following shortcut needs vi mode:
- Type
.
in NORMAL mode to edit commandline in editor.
Sessions
Shell session can be stored with s <session name>
. If a session with session name
already exists, the session with this name will be attached. If a session with
session name
is already active within another terminal, this terminal will be
focussed.
A list of available sessions can be shown with s
.
A session can be erased with s -e <session name>
.
Type s -d
to detach current session.
Set window title
Just type wt <title>
.
Ring the bell in order to set the urgency hint flag
If you have configured your terminal application to use the visual bell, your
window manager will tell you when a job running in your shell has finished. You
don't need to check manually whether it's done.
If you have still activated the acoustic bell, you probably hate that feature.
Switch it off in that case:
set -U budspencer_nobell
TODO
- vi REPLACE mode, as soon as REPLACE mode is implemented within fish
Feedback
Give me feedback if you ...
- ... have ideas how I could improve budspencer.
- ... have problems with budspencer.
- ... have questions concerning budspencer.
cbjohnson
cbjohnson theme
A minimal theme forked from the yimmy theme (thanks jhillyerd!)
chain
chain
A thin, classy theme composed of a chain of information.
Installation
Install with Oh My Fish:
$ omf install chain
Features
- Displays current Git branch and dirty state.
- If the last command fails, the exit code is displayed.
- An abbreviated path.
Links
Your prompt in chain consists of a series of links, with each link displaying a single piece of information. Not all links are always visible and only show up when you need them. Below are all the possible links (in order from left to right):
- Superuser privileges (
⚡
) - The current working directory
- The current Git branch (
⎇
) - Git working directory dirty (
±
) - Exit status of the last command
Customization
The glyphs used in the chain can be customized using global variables. Here is a list of the available variables:
$chain_prompt_glyph
: The arrow character at the end of the chain, right before the text input.$chain_git_branch_glyph
: Glyph to indicate the Git branch.$chain_git_dirty_glyph
: Glyph to indicate that the working branch has uncommitted changes.$chain_su_glyph
: Glyph to indicate that you have superuser privileges.
License
[MIT][mit] © [coderstephen][author] et al
clearance
Fish Theme: clearance
A minimalist fish shell theme for people who use git
Like it?
Check out other versions of this theme for OSX Terminal or VIM!
cmorrell
Chris Morrell's Fish Theme
This is a theme I designed for myself but have given to a few friends and decided to publish for others' enjoyment.
Features
- Minimal base prompt
- Shows compact git status w/ the number of changed files & current branch
- Gives a visual indication when you're logged in via SSH, or logged in as anyone
but the default user (set the$default_user
variable to define your default user) - Shows indicator if previous command failed
- Shows a bright red "!" if you're logged in as root
(Note: This theme is designed for a light-on-dark theme like Solarized but should work in a dark-on-light terminal with a few terminal color tweaks)
coffeeandcode
Fish Theme: coffeeandcode
Another theme choice for Oh-My-Fish! originally created by
Jonathan Knapp.
Warning:
This theme will overwrite all of your Fish color and git settings. If you'd like
to customize them, you will have to make changes to the fish_prompt.fish
file
in this theme. All of the settings are listed at the top of the file.
cor
cor
The name says it all
For this theme you need a emoji supporting terminal and the emoji-clock plugin
- emoji-clock
- Git
- Unicode-compatible fonts and terminals (I use iTerm2 on OSX)
Characteristics
####### Left side prompt
- If the previous command failed (✘)
- User @ Hostname
- Abbriviated path
- Emoji-clock
####### Right side prompt
- Branch
- Git status clean dirty (*)
- Time of last command
cyan
cyan
A theme for Oh My Fish.
Install
$ omf install cyan
This theme is based Michele Bologna's theme you can see @Michele Bologna for more informations.
and the fish_greeting.fish
forked from @bramblex.
Thanks!
Features
- Lorem ipsum dolor sit amet.
- Consectetur adipisicing elit.
The Prompt
User@Hostname
- Current project's repo branch(master) and Head short hash(
d0dfd9b
) - Current project's status, via colors and flags:
- new file
✚
- modified
M
- deleted
✖
- reanme
➜
- unmerge
═
(TODO) - untracked
✭
- working directory clean
✔
- Note that not all of these have been implemented yet _(:з」∠)_
- new file
- Current project's branch status
- equal to upstream
=
- ahead of upstream
>
- behind upstream
<
- diverged from upstream
<>
- equal to upstream
License
[MIT][mit] © [szwathub][author] et al
dangerous
Dangerous theme
A theme for the 70s, makes fish even more powerful. It's equipped with a hell
of a lot of nice functions and key bindings to speed up your workflow.
The philosophy behind dangerous theme:
- Delimit the prompt lines clearly to the output.
- Produce output only if it contains relevant information.
- Show useful notifications within the prompt.
- Equip the prompt with toggle commands in order to change its style
interactively. - Store sessions in order to make frequently used commands quickly accessible.
- Make navigation within the directory tree as easy as possible using
bookmarks and a directory history without duplicates. - Make histories quickly accessible with menus.
- Don't stress your eyes. Use different colors in dark and bright environments.
Screenshot
Requirements
You need an up-to-date fish shell version from github or a
nightly build.
Non standard tools:
- xsel
- wmctrl
- git
- taskwarrior (optional)
- remind (optional)
Configuration
General configuration
It's crucial to have vi mode enabled. Thus, execute
set -U fish_key_bindings fish_vi_key_bindings
before enabling the theme.
Colors
Redefine $dangerous_colors
with the set
command in order to change the
colors of the prompt.
Example:
set dangerous_colors 000000 333333 666666 ffffff ffff00 ff6600 ff0000 ff0033 3300ff 0000ff 00ffff
00ff00
Two color schemes for bright and dark environments are predefined. You can
enable them with day
and night
, respectively.
Command history
Commands that shouldn't appear in the command history are defined by a universal
list $dangerous_nocmdhist
. Default:
set -U dangerous_nocmdhist c d ll ls m s
Disable/reenable greeting
Disable:
set -U dangerous_nogreeting
Reenable:
set -e dangerous_nogreeting
Outer prompt segments
- Vi mode is indicated by color of outer segments, cursor color also changes
if terminal supports it:- blue: NORMAL mode
- yellow: INSERT mode
- magenta: VISUAL mode
Left prompt segments
- Prompt line number
- Git repository information
- Status symbols
- ✻: keep track of this shell session, can be toggled with
#
to show the number of
the session within the sessions list - ⌘: present working directory is in bookmark list, can be toggled with
#
to
show the number of the bookmark - V: vi is parent process
- R: ranger is parent process
- ⚙: there are background jobs, can be toggled with
#
to show the amount of
background jobs - : no write permissions in present working directory
- ⚔: there are tasks scheduled for this week, can be toggled with
#
to
show the amount of weekly tasks - ⚑: there are appointments for today, can be toggled with
#
to
show the amount of appointments - ✔: last command succeeded, can be toggled with
#
to show the status value - ✘: last command failed, can be toggled with
#
to show the status value - ⚡: superuser indicator
- ✻: keep track of this shell session, can be toggled with
- Present working directory
Right prompt segments
- Last command's duration time
- Git status symbols:
- ↑: git repository is ahead origin
- ↓: git repository is behind origin
- +: changes have been added to git index
- –: files have been deleted in work tree
- ✱: files have been modified in work tree
- →: files have been renamed in git index
- ═: there are unmerged commits
- ●: there are untracked (new) files
- ✭: there are stashed commits
Toggle prompt segments
The following shortcuts need vi-mode:
-
Style of segments can be toggled in NORMAL and in VISUAL mode with space bar
- styles implemented for present working directory segment:
short
(shows username, short hostname and truncated path; recommended in
most cases)long
(shows username, full hostname and full path; useful for copy-paste
in ssh connections)none
(shows nothing except small delimiter; useful for small terminals)- If prompt is toggled with
#
, the IP address is shown instead of the
hostname.
- configurable by universal list
$dangerous_pwdstyle
(if not set, defaults to
short long none
); note that changes to$dangerous_pwdstyle
keep persistant as it's
a universal variable. - The other segments are hidden in case
$pwd_style
isnone
.
- styles implemented for present working directory segment:
-
Style of symbols can be toggled in NORMAL and in VISUAL mode with
#
- styles implemented:
symbols
(shows status symbols)numbers
(shows numbers instead of symbols in left prompt as well as amount of changes in
right git prompt)
- styles implemented:
Note, the format is username@hostname:pathname. Thus, you can cut
the whole string with your mouse and paste it into ssh
commands.
Quickly navigate in history of working directories
The function d
drops down a menu showing the history as enumerated list. Unlike
fish's builtin dirh
, d
does not show any duplicates. Enter a number to jump
to a directory within the list.
The following shortcuts need vi-mode:
- Press
H
in NORMAL mode to change present working directory to previous
working directory in history. - Press
L
in NORMAL mode to change present working directory to next working
directory in history.
Quickly navigate in command history
The function c
drops down a menu showing the command history as enumerated list similarly to
the d
function. Selections are also pasted into the X clipboard. It's possible
to load a command of a former prompt by giving the prompt line number as
argument.
Bookmarks
A bookmark can be created with mark
. It can be removed with unmark
.
Bookmarks are universal and thus persistant.
A new shell automatically changes working directory on startup to newest bookmark.
m
is a function that drops down a menu showing the bookmarks as enumerated list
equivalently to d
.
The following shortcuts need vi mode:
- Create a bookmark for present working directory with
m
in NORMAL mode. - Remove a bookmark for present working directory with
M
in NORMAL mode.
Edit commandline with your favorite editor
The function edit-commandline
lets you edit the commandline with your editor.
It makes the commandline as powerful as your editor. If $EDITOR
is not set,
vi is used.
The following shortcut needs vi mode:
- Type
.
in NORMAL mode to edit commandline in editor.
Sessions
Shell session can be stored with s <session name>
. If a session with session name
already exists, the session with this name will be attached. If a session with
session name
is already active within another terminal, this terminal will be
focussed.
A list of available sessions can be shown with s
.
A session can be erased with s -e <session name>
.
Type s -d
to detach current session.
Set window title
Just type wt <title>
.
TODO
- vi REPLACE mode, as soon as REPLACE mode is implemented within fish
Feedback
Give me feedback if you ...
- ... have ideas how I could improve dangerous.
- ... have problems with dangerous.
- ... have questions concerning dangerous.
default
Default theme for Oh My Fish.
Install
$ omf theme default
Features
- All the things you need to know about Git in a glance.
- A subtle timestamp hanging out off to the right.
- Previous command status.
Screenshot
Configuration
Only display the folder name:
set -g theme_short_path yes
License
[MIT][mit] © [bpinto][author] et al
eclm
eclm
Based on the robbyrussell theme.
Characteristics
- Displays git information in the command prompt when available.
- Indicates 'master' branch with a distinctive color, encouraging the use of feature-branches (useful when development is done using pull requests)
- If the last command was failed, the indicator would be red, otherwise it's green
edan
Theme Edan
Inspired by idan, a functional, uncluttered fish theme with usability perks for git users and python developers.
Characteristics
####### Left Prompt
- User & host (Shown in "remote" mode, hidden by default. Execute
edan-set-remote
oredan-set-local
to switch.) - Current python virtualenv (if applicable)
- Truncated CWD (just the current folder name)
- Git branch and dirty state (if applicable)
####### Right Prompt
- Full CWD path
- Last error code (if applicable)
Font
Check out Anonymous Pro.
eden
eden
A theme for fishshell.
Install
Using Oh My Fish:
$ omf install eden
### to uninstall :/
$ omf uninstall eden
Using Fisherman:
$ fisher https://github.com/amio/fish-theme-eden
### to uninstall :/
$ fisher rm theme-eden
Features
- Last command's timestamp & exit status on right.
eden_toggle_path
display long or short pwd.eden_toggle_host
show or hide host & user.eden_prompt_char
custom prompt char.- A blue (red for root user)
-SSH-
tag on ssh connection.
Screenshot
Font: INCONSOLATA
License
[MIT][mit] © Amio
es
es theme
A Powerline-style, Git-aware theme for Oh My Fish.
Install
Make sure you have Oh My Fish installed. Then just
$ omf install es
Requirements
- Latest fish version with a builtin
string
function (above2.2.0
, so please get the latest version fromHEAD
) - Powerline-patched font
Features
- Git-aware theme with detailed Git status in the left prompt (added, removed, modified, renamed, unstaged, stashed)
- Node/Python/Ruby@gemset current version inside a git folder in the right prompt if respective virtual environment manager is installed (nvm, pyenv, rbenv)
- Error status and duration of last command in the right prompt
- Mac-notifications on completion of long commands (10+ seconds by default) if terminal (iTerm and Terminal) is out of focus
- Limits path to two last folders for better visibility, with
$HOME
directory abbreviated to~
Screenshot
#####Git folder
#####Normal folder (no Git)
#####Normal read-only folder (no Git)
License
[MIT][mit] © eugenesvk
fishbone
fishbone
A clean theme for fish shell managed by Oh my fish
Example
Installation
omf update # Just if your omf installation is old. Avoids missing the package
omf install fishbone
omf (Oh my fish) is a package manager for fish shell. Just like pip is for Python and gem is for Ruby
Features
- Only displays an abbreviatted path on left side;
- Displays the current time at right;
- On git repositories shows its current branch and modifications on right side;
- For Python users, if there is an active virtualenv, it will be displayed at right between brackets;
- Colon at left side becames red if last command fails;
- At start up, shows user name, date, uptime, informations about OS, CPU, memory and network;
Project structure
We have two branches:
- master: Where the necessary files for theme is;
- animation: There is two adicional files (animation.cxf, fishbone.gif) that is used for theme example at README.md file.
The theme files are separated as follows:
- fish_prompt.fish: Has the function to print the prompt line;
- fish_right_prompt.fish: Prints the right side of the shell prompt;
- fish_greeting.fish: Prints the welcome message at shell session start up;
Contributing
We are not stringent with contributions.
Just fork the project, do some modifications and send us a Pull request : )
Bugs and improvements can be reported/suggested as issues.
License
[MIT][mit] © [pantuza][author] et al
fishface
FishFace
Shows an ASCII fish which is blue or green when in a git repo.
fishy-drupal
fishy-drupal
Features
- Shows the present working directory, abbreviated (default fish style)
- Shows the active git branch, if any
- Shows the active drush site alias, if any
- Shows yellow ✗ if the current git directory is "dirty"
fisk
Fisk
A nice dark blue-green theme with support for:
- Last exit code
- Current git HEAD
- Current python virtualenv
By joar, thanks to
adisbladis for the starting point.
flash
Flash
Features
From left to right:
-
$HOME
directory abbreviated to( ⌁ )
-
/
root is diplayed as( / )
-
$HOME
and/
characters change color to dim gray if last$status
was!=
0. -
Path to current working directory is abbreviated.
-
Path and prompt separator is displayed as
)
. -
<
character next to(branch)
denotes the repository has stashed changes. -
*
next to the branch name denotes the current repository is dirty. -
Display current branch.
-
Display current time.
-
Time separator
:
changes color to red if last$status
was!=
0. -
Display exit status for non zero codes after
≡
character. -
Colors inspired by The Flash.
-
Display the number of seconds taken by the last command executed.
fox
fox
cloned from oh-my-zsh.
gianu
Gianu
Original theme made by gianu for oh-my-zsh, converted to oh-my-fish by JBarberU
Characteristics
Displays:
- Username and hostname
- Working directory
- Git information when available.
gitstatus
GitStatus
Characteristics
-
Displays host information in the command prompt when connected via ssh.
-
Displays git information in the command prompt when inside a git repository.
- Shows current branch name.
- Shows * if working copy is dirty.
- Shows # if everything is staged.
- Shows no indicators if the working copy is clean.
gnuykeaj
Fish Theme: gnuykeaj
Super minimal one line version of clearance theme. Balance between need to know information and space. Has git branch and dirty state information based on the color of the branch name.
godfather
godfather fish theme
Clean git theme with homey feel and git-centric features.
Prompt structure:
-
Left-hand side:
- user@host:
- truncated cwd (just the current folder name)
- git branch with state info (if applicable)
-
Right-hand side:
- last error code (if applicable)
- [timestamp]
Credits:
Colors and git functions taken from amio's
edan theme.
hulk
slack-link: https://fisherman-wharf.herokuapp.com/
slack-badge: https://fisherman-wharf.herokuapp.com/badge.svg
💢 Hulk
Features
From left to right:
- Display current time.
$HOME
directory abbreviated to an uppercase gamma symbolᴦ
- Colors change to red to denote the last
$status
code was!=
0. - Path to current working directory is abbreviated.
- Display current branch.
- A green colored branch name denotes the repository is dirty.
/
root is diplayed as≡
- Colors inspired by The Hulk.
idan
idan
A functional, uncluttered fish theme with usability perks for git users and python developers.
Characteristics
####### Left Prompt
- Current python virtualenv (if applicable)
- Truncated CWD (just the current folder name)
- Git branch and dirty state (if applicable)
####### Right Prompt
- Full CWD path
- Last error code (if applicable)
integral
integral
A simple git upstream theme.
Characteristics
- Current branch
- Dirty working directory
- Working directory
- Git upstream status
Screenshot
jacaetevha
jacaetevha
A theme optimized for people who use:
- Git
- Unicode-compatible fonts and terminals (I use iTerm2 + Monaco)
For Mac users, I highly recommend iTerm 2.
Characteristics
- Left-hand prompt:
<user> at <host> in <abbreviated path> <total size of files in dir> (<current Git branch>)
↪
- Right-hand prompt:
<current date>
kawasaki
kawasaki
kawasaki
is a fish theme that emphasizes a simple and useful prompt without useless cluttter.
Installation
Requirements
- Fish shell - a smart and user-friendly command line
shell for OS X, Linux, and the rest of the family - Oh My Fish - The Fishshell Framework
Once Oh My Fish is installed:
omf install kawasaki
This theme was inspired by bira.
Notes
To use kawasaki's virtualenv prompt instead of the default virtualenv prompt append set -x VIRTUAL_ENV_DISABLE_PROMPT 1
to your init.fish
Features
- Completely customizable.
- Display status of the working tree for Git projects.
- Read/write indicator of the current working directory.
- Background jobs indicator.
- Virtualenv prompt indicator.
Customizing
Override defaults
You can override the default display settings by specifying any of the following settings in your init.fish:
#### Enable the time to be displayed.
set -g theme_display_time yes
#### Disable playing the user's current group.
set -g theme_display_group no
#### Disable Git-awareness.
set -g theme_display_git no
#### Don't disable jobs indicator.
set -g theme_display_jobs no
#### Always display the jobs indicator, even if there are no jobs.
set -g theme_display_jobs_always yes
#### Hide the current directory read/write indicator.
set -g theme_display_rwt no
#### Don't display the VirtualEnv prompt.
set -g theme_display_virtualent no
Look and feel
Nearly every aspect of kawasaki can be customized. The following can be set to adjust the look and feel of kawasaki:
set -g theme_color_error red
set -g theme_color_superuser red
set -g theme_color_user white
set -g theme_color_group 666666
set -g theme_color_host brgreen
set -g theme_color_separator brblack
set -g theme_color_bracket brblue
set -g theme_color_normal normal
set -g theme_color_time 666666
set -g theme_color_path brwhite
set -g theme_color_prompt white
set -g theme_color_virtualenv bryellow
set -g theme_color_status_prefix brblue
set -g theme_color_status_jobs brgreen
set -g theme_color_status_rw brwhite
set -g theme_prompt_char_normal '$'
set -g theme_prompt_char_superuser '#'
set -g theme_prompt_char "$theme_prompt_char_normal"
set -g theme_prompt_superuser_glyph \u2605
set -g theme_prompt_userhost_separator ':'
set -g theme_prompt_segment_separator_char ' '
set -g theme_prompt_segment_separator_color normal
set -g theme_prompt_status_jobs_char '%'
set -g theme_prompt_status_rw_char '.'
set -g theme_prompt_status_separator_char '/'
set -g theme_prompt_virtualenv_char_begin '('
set -g theme_prompt_virtualenv_char_end ')'
set -g theme_prompt_virtualenv_color_char_begin normal
set -g theme_prompt_virtualenv_color_char_end normal
set -g theme_display_time_format '+%I:%M'
set -g __fish_git_prompt_color_merging red
set -g __fish_git_prompt_color_branch brblue
set -g __fish_git_prompt_showcolorhints yes
set -g __fish_git_prompt_show_informative_status yes
set -g __fish_git_prompt_char_stateseparator ' '
set -g __fish_git_prompt_char_branch_begin ''
set -g __fish_git_prompt_char_branch_end ''
set -g __fish_git_prompt_color_branch_begin bryellow
set -g __fish_git_prompt_color_branch_end bryellow
License
kawasaki is released under The MIT License (MIT)
Copyright (c) 2016 Beau Hastings
krisleech
krisleech
A very simple theme optimized for Git. Less is more.
Characteristics
- Current working directory
- Branch name
- Dirty working directory (✘)
l
Install
$ omf theme l
Features
- Current branch
- Dirty working directory
- Working directory
Screenshot
Configuration
Only if fish_theme_l_right_prompt variable is set true within config.fish:
set theme_display_rbenv 'yes'
set theme_display_rbenv_gemset 'yes'
### if you want to display rbenv ruby version only within directories that contain Gemfile
set theme_display_rbenv_with_gemfile_only 'yes'
- Rbenv Ruby Version
- Rbenv Ruby Gemset
License
[MIT][mit] © [bpinto][author] et al
lambda
Lambda
Screenshot
Install
####### Oh-My-Fish
omf install lambda
lolfish
lolfish
such rainbow, wow.
Easy Install
Using oh-my-fish:
omf install lolfish
Less Easy Install
Download and source the prompt file
mkdir -p $HOME/.config/fish
wget -O $HOME/.config/fish/lol.fish https://github.com/er0/lolfish/raw/master/lol.fish
echo "source $HOME/.config/fish/lol.fish" >> $HOME/.config/fish/config.fish
Features
- Only the best rainbow xterm colors!
- git branch/status info
- Return value from the last command
- Right prompt displays number of backgrounded jobs, tmux sessions, and the time.
mars
mars
Based on the eclm theme (which was based on the robbyrussell theme).
Characteristics
- Displays git information in the command prompt when available.
- Indicates 'master' branch with a distinctive color, encouraging the use of feature-branches (useful when development is done using pull requests)
- If the last command was failed, the indicator would be red, otherwise it's green
mokou
mokou
possibly the dumbest theme for oh-my-fish
how it's structured: {directory name} > {prompt}
$ omf install mokou
[MIT][mit] © [tentakel][author] et al
mtahmed
mtahmed
Minimal theme.
Left prompt
- First 10 characters of hostname if
ssh
'ed - Current directory name (not path)
- ─╼ (cute little unicode characters)
Right prompt
- Exit code of the previous command
nai
nai
A minimalist fish theme which displays git branch and status information.
Characteristics
####### Left Prompt
- Truncated CWD (just the current folder name)
- Git branch and dirty state (if applicable)
nelsonjchen
nelsonjchen theme for Oh My Fish. Based on re5et in Oh-My-Zsh.
Install
$ omf install nelsonjchen
Features and Differences
- Pretty colors
- Two line prompt
- Git Prompt using off-the-shelf fish functions
- Note that the symbology, colors, and features are more than the
zsh
version and they don't match up 1-to-1. For example, checking out a tag will show the tag name infish
but the re5et version inzsh
will simply show the commit ID. This was one such freebie amongst many I just left in while porting since thefish
script was giving it to me for free anyway. It is still pretty close though.
- Note that the symbology, colors, and features are more than the
- Red user prompt if
root
- 12 hour clock
- re5et: 24 hour clock
- MM DD YY date format
- re5et: YY MM DD date format
- Title Setting to the
prompt_pwd
function in fish for screen, tmux, and non-terminal multiplexer.- This is derived from @chgu82837's theme
Omissions from the re5et version
- Trimming down the working directory display only works on
~
. The original re5et prompt would also trim based on the current environment variables set. For example, if you had the environment variableFOO
set to/usr/local
and you didcd /usr/local
, you would see$FOO/
in the prompt as the current working directory. I'm not sure how I would get this working.fish
does appear to have a condensation function but it goes beyond simple environment variable replacement and I can't figure out how to turn it off.
Screenshot
License
[MIT][mit] © [Nelson Chen][author] et al
numist
See https://github.com/oh-my-fish/theme-numist for details
ocean
ocean
A fish theme with ocean in mind.
Unicode-compatible fonts and terminals is required.
I would recommend iTerm2 + Solarized Dark for Mac users.
This theme is based loosely on agnoster
Characteristics
-
Show a radioactive symbol (☢) when gain the root privileges (It's dangerous!)
-
Current python virtualenv (if applicable)
-
The anchor (⚓) turns red if the previous command failed
-
Full path of current working directory
-
Show the Git branch and dirty state (if applicable)
-
Show User@Hostname if user is not the default user. Set the following two lines in your config.fish to turn on this feature:
set -g theme display_user yes set -g default_user your_default_username
Troubleshooting in iTerm
If you see a colored anchor icon instead of the white one, this is because your system font is lacking the anchor icon, and iTerm defaults to the Apple Emoji Font. To get the right icon, either add it to your current font, or chose a powerline font that has it (like Meslo for Powerline, available in https://github.com/powerline/fonts), and select it for your Non-ASCII font.
pastfish
pastfish theme for Oh My Fish.
Install
$ omf install pastfish
Features
- Random greeting message
- Command prompts colored based on time (morning is blue, afternoon is green, midnight is red ...)
- The
>
at the end of each prompt will turn yellow if the git repo is dirty, red if current location is not writable
Screenshot
License
[MIT][mit] © [chgu82837][author] et al
perryh
perryh
This is similar to godfat's gitstatus theme, but mainly includes red, white, cyan, and yellow.
plain
plain
Colorful git-aware plain text prompt
Features
- No need to use a patched font
- Colorful
- Not folding path
- Detecting remote logged in and UID
- Integrates Git
Install
With [Fisherman]
fisher i plain
pure
Pretty, minimal and fast Fish 🐟 prompt, ported from
zsh
.
Install
⚠️ requirements: fish ≥2.5
.
Manually
Via cURL:
# Download the installer to `/tmp`
curl git.io/pure-fish --output /tmp/pure_installer.fish --location --silent
# Source and trigger the installer
source /tmp/pure_installer.fish; and install_pure
Fisher
fisher add rafaelrinaldi/pure
Oh My Fish!
omf install pure
ln -s $OMF_PATH/themes/pure/conf.d/pure.fish ~/.config/fish/conf.d/pure.fish
Fundle
fundle plugin rafaelrinaldi/pure;
fundle install;
Features
- Fully customizable ;
- Excellent prompt character
❯
; - Display current directory tail ;
- Display
git
branch name ;- Display
*
whengit
repository is dirty ; - Display
⇡
when branch is ahead (commits to push) ; - Display
⇣
when branch is behind (commits to pull) ;
- Display
- Change
❯
to red when previous command has failed ; - Update terminal title with current folder and command ;
- Display username and hostname when in an
SSH
session ; - Display duration when command run more that
5
seconds ; - Display
Python
virtualenv when activated ; - Fine control over colors ;
- Right prompt control.
- Display
VI
mode and custom symbol for non-insert mode.
Configuration
You can tweak pretty much everything in pure
by overriding variables in your config.fish
file.
Prompt Symbol
Option | Default | Description |
---|---|---|
pure_symbol_prompt |
❯ |
Prompt symbol. |
pure_symbol_reverse_prompt |
❮ |
VI non-insert mode symbol. |
pure_right_prompt |
|
Content of the right prompt. |
pure_symbol_git_unpulled_commits |
⇣ |
Branch is behind upstream (commits to pull). |
pure_symbol_git_unpushed_commits |
⇡ |
Branch is ahead upstream (commits to push). |
pure_symbol_git_dirty |
* |
Repository is Dirty (uncommitted/untracked changes). |
pure_symbol_title_bar_separator |
— |
ℹ️: Need safer git
symbols?
Features
Option | Default | Description |
---|---|---|
pure_threshold_command_duration |
5 |
Show command duration when above this value (seconds). |
pure_separate_prompt_on_error |
false |
Show last command exit code as a separate character. |
pure_begin_prompt_with_current_directory |
true |
true : pwd git , SSH , duration.false : SSH pwd git , duration. |
pure_reverse_prompt_symbol_in_vimode |
true |
true : ❮ indicate a non-insert mode.false : indicate vi mode with [I] , [N] , [V] . |
Colors
Option | Default |
---|---|
Base Colors | |
pure_color_primary |
(set_color blue) |
pure_color_info |
(set_color cyan) |
pure_color_mute |
(set_color brblack) |
pure_color_success |
(set_color magenta) |
pure_color_normal |
(set_color normal) |
pure_color_danger |
(set_color red) |
pure_color_light |
(set_color white) |
pure_color_warning |
(set_color yellow) |
pure_color_dark |
(set_color black) |
ℹ️: Want more customization? See $HOME/.config/fish/conf.d/pure.fish
for available variables.
Tests
requirements: fishtape
.
fishtape tests/*.test.fish
Maintainers
Kudos to all our awesome 💛 contributors 💛
License
MIT © Rafael Rinaldi
red-snapper
RED SNAPPER
####><}}*> F E A T U R E S
- Directory path
- Git branch name
- Git status
- YOUR OWN PET FISH!
####><}}*> GIT STATUS
Untracked changes
Your pet will detect if you added files, but didn't track them. He will open his mouth, hungry of yummy commits!
After you commit, he will close his mouth, satiated.
Can't find .git
Something is fishy here! If you are not inside a Git working directory, your pet will go to sleep.
robbyrussell
robbyrussell
The default theme – cloned from oh-my-zsh.
Characteristics
- Displays git information in the command prompt when available.
- If the last command was failed, the indicator would be red, otherwise it's green
scorphish
Scorphish
Compact. Sufficient.
Left prompt
Abbreviated path, ruby version and gemset, python version and virtualenv and git info
Additional information:
- To display Rust version add the following to
~/.config/fish/config/fish
:
set -g theme_display_rust yes
- To display Node version add the following to
~/.config/fish/config/fish
:
set -g theme_display_node yes
Right prompt
Last command's exit code and current time
Acknowledgments
This theme is based on Zish and Coffeandcode themes, many thanks to their authors!
Enjoy!
shellder
shellder
Things are beautiful if you love them. ― Jean Anouilh
- Speed ― Carefully optimized for slow environments like msys2
- No solarized ― xterm256 colors are beautiful enough, inspired by seoul256.vim
- zsh + fish support
Installation
fish
Use [chips]. Add to ~/.config/chips/plugin.yaml
:
github:
- simnalamburt/shellder
Then run chips
.
zsh
Use [zplug]. Add below to your .zshrc
:
zplug 'simnalamburt/shellder', as:theme
Fonts
You'll need a powerline patched font. If you don't have one, download one or
patch some fonts on you own.
MIT License © [simnalamburt] et [al]
simple-ass-prompt
simple-ass-prompt
A theme for Oh My Fish.
Install
$ omf install simple-ass-prompt
Features
This is Mathias Bynens Bash prompt ported to Fish with a few changed icons and added functionalities. As he put it:
Shell prompt based on the Solarized Dark theme.
Screenshot: http://i.imgur.com/EkEtphC.png
Heavily inspired by @necolas’s prompt: https://github.com/necolas/dotfiles
iTerm → Profiles → Text → use 13pt Monaco with 1.1 vertical spacing.
Features:
- A dirty state of the branch is displayed by
!
- Untracked files are displayed by
☡
- The existence of a stash is displayed by
↩
- A clean branch is displayed by
✓
- The branch is ahead with
+
- The branch is behind with
-
- The branch has diverged from upstream
±
- Support for Pythons virtual environments
- The last command failed is displayed with
↪
in red
Screenshot
Git Usage
VirtualFish Usage
Configuration
You can change the greeting message with:
set -g simple_ass_prompt_greeting MyGreeting
License
[MIT][mit] © [lfiolhais][author] et al
simplevi
fish_prompt-simplevi
The stock prompt with the vi indicator appended.
It is meant to be used with the vi-mode
plugin.
Screenshots:
slavic-cat
Slavic Cat
A fish (shell) theme with a Slavic cat and a rainbow that signifies git status.
Instalation
Requirements
- Fish shell - a smart and user-friendly command line
shell for OS X, Linux, and the rest of the family - Oh My Fish - The Fishshell Framework
Once Oh My Fish is installed:
omf install slavic-cat
Features
- Minimal Look & Prompt
- Current short version pwd
- Display branch for Git projects
- Git project dirty status indicator meow (R,C,A,U,M,?) meow
- Fish shell vi mode indicator
- Next line prompt
- Two unicodes included!
sushi
🍣 Sushi theme for Oh My Fish.
Install
$ omf install sushi
Features
- Minimal Prompt.
- Git Support.
- Displays
^
when there are stashed changes. - Displays
*
when there are any changes to files already being tracked in the repo. - Displays current branch name.
- Branch name color changes when there are staged changes.
- Displays number of commits current branch is ahead/behind from origin.
- By default it shows only the name of the current directory but it provides a flag
theme_complete_path
to display abbreviated current working directory instead. - Displays Time.
Screenshot
License
[MIT][mit] © [Umayr Shahid][author] et al
syl20bnr
syl20bnr theme
A semi-compact oh-my-fish theme with nice support for git.
The theme has been tested on Ubuntu 14.04 (Trusty)
and Mac OS X 10.10 (Yosemite)
.
It is also compatible with Cygwin with the appropriate packages.
Table of Contents generated with DocToc
Segments
pwd: Compact current working directory
The pwd
segment format is X:P(N)
where:
X
is eitherhome
or/
P
is the current working path base name (name of the current directory)N
is the depth of the path starting fromX
If the pwd
is home
or /
then the prompt format is simplified to home
and /
respectively without the current directory and depth.
Examples
git
If the current directory is a git repository then the pwd
segment is
replaced by the git
segment (I should know where I am).
The git
segment format is X:YI@Z:P(N)
where:
X
isgit
Y
is the current branch nameI
is some information about the current repository stateZ
is the name of the repositoryP
is the current working path basename (name of the current directory)
IfP
=Z
thenP(N)
is not displayedN
is the depth of the path starting from base directory of the repository
The displayed information I
is:
- Unpushed commits are indicated with an up arrow like this
[↑1]
- Unmerged fetched commits are indicated with a down arrow like this
[↓1]
Note: The dirtiness of the current branch is indicated by its color:
- red: it is dirty
- green: it is up to date
Note: The unmerged commits count appears only if the changes in the
upstream branch as been fetched.
Examples
Dirty (changes not committed):
Unpushed commits:
Unmerged commits:
Both unpushed and unmerged commits:
In a sub-directory of the repository:
vi-mode
This segment display the current vi-mode
if the fish native vi mode or
the oh-my-fish vi-mode plugin is used.
See the [n]
in the previous screenshots.
end
The color of the end of the prompt depends on the $status
value of the
last executed command. It is green
or red
depending on the success or
failure of the last command.
Since I often use ranger and its shift+s
key binding to bring
a new child shell session, there is a discreet indicator when the parent
process of the current shell is a ranger
process: the end of the prompt
is written twice (ie: >>
instead of just >
).
With this indicator I quickly see if I can ctrl+d
to end the current shell
process and go back to the parent ranger
process.
where
The where
segment format is X@Y
where:
X
is the user nameY
is the host name
This segment is displayed in the right prompt.
Functions
Some functions come with the theme:
toggle_right_prompt
will... toggle the right prompt! (alias:trp
)
Mac compatibility
In order to make this theme work correctly with all the features make sure to
install the following packages via MacPorts or Homebrew:
-pstree
(used in ranger detection)
Cygwin compatibility
In order to make this theme work on Cygwin, make sure to install the following
packages:
bc
formath
fish functionpsmisc
forpstree
(used in ranger detection)git
if you want to use thegit
segment.
taktoa
taktoa
A theme by taktoa
Characteristics
- Shows current git information
- Shows hostname if you are connected via ssh
- Show current terminal multiplexer status (screen/tmux pane name and number)
- Arrow is a lambda
technopagan
technopagan
A minimalist fish theme forked from theme-nai (@xorgy) but with added (@rickycodes) moonmoji support.
Display the following bits on the left:
- Current directory name
- Git branch and dirty state (if inside a git repo)
toaster
Toaster
A fish (shell) theme with a poptart cat and a rainbow that signifies git status.
tomita
tomita
A minimal, aesthetically pleasing fish theme.
Note: Make sure you're using a Unicode-enabled terminal and font.
Prompt
<abbreviated path> (<current git branch>) [<vi mode>] ⋊>
- Working directory
- Current git branch
- vi mode (requires fish 2.2+)
This theme includes a custom vi mode indicator which is built into
fish_prompt
. If you'd like to use vi mode, I recommend adding the following lines to your config.fish:# note: this erases the default fish_mode_prompt, which adds a vi mode # indicator to the left of your prompt function fish_mode_prompt; end # turn on vi mode when the shell starts fish_vi_mode
Screenshots
Without vi-mode:
With vi-mode:
In a git repo:
trout
A simple, but informative, prompt
uggedal
uggedal
Minimal theme.
Characteristics
- Only displays the
$CWD
. - Displays hostname if you're connected through
ssh(1)
. - Right prompt displays the last command's exit code if it was non-zero.
will
Will
Minimalist theme.
Characteristics
- The current working directory is displayed on the right-side
- Hostnames are displayed if and only if we're on an SSH connection
- Uses logical entailment as the prompt character
yimmy
yimmy theme
A simple two-line theme with support for terminals configured with Solarized
Dark colors.
user@host ~/c/w/dir (branch *)
>
Characteristics:
- Standard fish prompt characters: > for user, # for root
- Uses the fish
prompt_pwd
, so paths will be abbreviated - Uses built-in
__fish_git_prompt
functionality - Indicates Git work-in-progress (gwip/gunwip) if detected
- Prompt character is colored red if previous command had a non-zero exit
status - Includes complementary
LS_COLORS
Configuration:
- Disable Solarized colors in prompt with:
set -U yimmy_solarized false
zish
Zish
Zhishen Wen's simple fun theme =)
Left prompt
User, host, abbreviated path, and git branch info
######Right prompt
Time and exit code
Enjoy!