Commit 5fda2053 authored by Bruno Pinto's avatar Bruno Pinto

Merge pull request #366 from tannhuber/master

parents bc92376d d00a7af8
# Budspencer theme # Budspencer theme
A theme for the 70s, makes fish even more powerful. It's equipped with a few A theme for the 70s, makes fish even more powerful. It's equipped with a hell
nice functions and key bindings to speed up your workflow. 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 ## Demonstration video
...@@ -25,11 +38,12 @@ Non standard tools: ...@@ -25,11 +38,12 @@ Non standard tools:
### General configuration ### General configuration
The theme behaves similar to vim's airline/powerline plugins. Thus, it needs a The theme behaves similar to vim's airline/powerline plugins. Thus, it needs a
[powerline font][font]. Although it works with emacs mode, it's more powerful [powerline font][font].
with vi mode. In order to enable vi mode, execute: It's also crucial to have vi mode enabled. Thus, execute
``` ```
set -U fish_key_bindings fish_vi_key_bindings set -U fish_key_bindings fish_vi_key_bindings
``` ```
before enabling the theme.
### Colors ### Colors
...@@ -88,8 +102,8 @@ set -e budspencer_nogreeting ...@@ -88,8 +102,8 @@ set -e budspencer_nogreeting
* ⚙: there are background jobs, can be toggled with `#` to show the amount of * ⚙: there are background jobs, can be toggled with `#` to show the amount of
background jobs background jobs
* : no write permissions in present working directory * : no write permissions in present working directory
* ⚔: there are tasks scheduled due today, can be toggled with `#` to * ⚔: there are tasks scheduled for this week, can be toggled with `#` to
show the amount of tasks show the amount of weekly tasks
* ⚑: there are appointments for today, can be toggled with `#` to * ⚑: there are appointments for today, can be toggled with `#` to
show the amount of appointments show the amount of appointments
* ✔: last command succeeded, can be toggled with `#` to show the status value * ✔: last command succeeded, can be toggled with `#` to show the status value
...@@ -128,17 +142,24 @@ The following shortcuts need vi-mode: ...@@ -128,17 +142,24 @@ The following shortcuts need vi-mode:
`short long none`); note that changes to `$budspencer_pwdstyle` keep persistant as it's `short long none`); note that changes to `$budspencer_pwdstyle` keep persistant as it's
a universal variable. a universal variable.
![pwd style][pwdstyle]
- Style of symbols can be toggled in NORMAL and in VISUAL mode with `#` - Style of symbols can be toggled in NORMAL and in VISUAL mode with `#`
* styles implemented: * styles implemented:
- `symbols` (shows status symbols) - `symbols` (shows status symbols)
- `numbers` (shows numbers instead of symbols in left prompt as well as amount of changes in - `numbers` (shows numbers instead of symbols in left prompt as well as amount of changes in
right git prompt) right git prompt)
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 ## Quickly navigate in history of working directories
The function `d` shows the history as enumerated list. Unlike fish's builtin The function `d` drops down a menu showing the history as enumerated list. Unlike
`dirh`, `d` does not show any duplicates. Enter a number to jump to a directory fish's builtin `dirh`, `d` does not show any duplicates. Enter a number to jump
within the list. to a directory within the list.
![dir menu][dirmenu]
The following shortcuts need vi-mode: The following shortcuts need vi-mode:
- Press `H` in NORMAL mode to change present working directory to previous - Press `H` in NORMAL mode to change present working directory to previous
...@@ -148,8 +169,8 @@ The following shortcuts need vi-mode: ...@@ -148,8 +169,8 @@ The following shortcuts need vi-mode:
## Quickly navigate in command history ## Quickly navigate in command history
The function `c` shows the command history as enumerated list similarly to The function `c` drops down a menu showing the command history as enumerated list similarly to
the `d` function. Selections are also paste into the X clipboard. It's possible 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 to load a command of a former prompt by giving the prompt line number as
argument. argument.
...@@ -158,7 +179,8 @@ argument. ...@@ -158,7 +179,8 @@ argument.
A bookmark can be created with `mark`. It can be removed with `unmark`. A bookmark can be created with `mark`. It can be removed with `unmark`.
Bookmarks are universal and thus persistant. Bookmarks are universal and thus persistant.
A new shell automatically changes working directory on startup to newest bookmark. A new shell automatically changes working directory on startup to newest bookmark.
`m` is a function that shows the bookmarks as enumerated list equivalently to `d`. `m` is a function that drops down a menu showing the bookmarks as enumerated list
equivalently to `d`.
The following shortcuts need vi mode: The following shortcuts need vi mode:
- Create a bookmark for present working directory with `m` in NORMAL mode. - Create a bookmark for present working directory with `m` in NORMAL mode.
...@@ -171,8 +193,7 @@ It makes the commandline as powerful as your editor. If `$EDITOR` is not set, ...@@ -171,8 +193,7 @@ It makes the commandline as powerful as your editor. If `$EDITOR` is not set,
vi is used. vi is used.
The following shortcut needs vi mode: The following shortcut needs vi mode:
- Type `.` in NORMAL mode or `\cv` in NORMAL/INSERT mode to edit commandline in - Type `.` in NORMAL mode to edit commandline in editor.
editor.
## Sessions ## Sessions
...@@ -195,6 +216,13 @@ Just type `wt <title>`. ...@@ -195,6 +216,13 @@ Just type `wt <title>`.
- vi REPLACE mode, as soon as REPLACE mode is implemented within fish - 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.
[font]: https://github.com/Lokaltog/powerline-fonts [font]: https://github.com/Lokaltog/powerline-fonts
[ranger]: http://ranger.nongnu.org/ [ranger]: http://ranger.nongnu.org/
[taskwarrior]: http://taskwarrior.org/ [taskwarrior]: http://taskwarrior.org/
...@@ -203,3 +231,5 @@ Just type `wt <title>`. ...@@ -203,3 +231,5 @@ Just type `wt <title>`.
[fish-nightly]: https://github.com/fish-shell/fish-shell/wiki/Nightly-builds [fish-nightly]: https://github.com/fish-shell/fish-shell/wiki/Nightly-builds
[screenshot]: https://raw.githubusercontent.com/tannhuber/media/master/budspencer.jpg [screenshot]: https://raw.githubusercontent.com/tannhuber/media/master/budspencer.jpg
[colors]: https://raw.githubusercontent.com/tannhuber/media/master/budspencer_replace_colors.jpg [colors]: https://raw.githubusercontent.com/tannhuber/media/master/budspencer_replace_colors.jpg
[dirmenu]: https://raw.githubusercontent.com/tannhuber/media/master/budspencer_dir_menu.jpg
[pwdstyle]: https://raw.githubusercontent.com/tannhuber/media/master/budspencer_pwd_style.jpg
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment