Seit gestern habe ich es endlich geschafft ein einheitliches Farbschema in allen Kommandozeilenprogrammen zu bekommen.
Der einfachste Weg um das zu erreichen ist das Framework Base 16. Das Projekt ist ein Framework aus Farben und Templates fuer eine grosse Auswahl von Programmen.
Im Alltag benutze ich folgende unterstuetzte Programme:
- Bash
- Vim
- XFCE4-Terminal
Eine Uebersicht alles vorhandenen Themes kann man hier sehen: https://chriskempson.github.io/base16/
Fuer jedes Programm gibt es ein separates Projekt. Doch alle Projekte benutzen die gleichen Farbwerte.
Programm | Link |
---|---|
Bash | https://github.com/chriskempson/base16-shell |
Vim | https://github.com/chriskempson/base16-vim |
XFCE4-Terminal | https://github.com/afg984/base16-xfce4-terminal |
XFCE4-Terminal
Das Programm ist der Terminal Emulator meiner Wahl, es gibt wahrscheinlich bessere, aber die einfache Handhabung qualifizieren ihn schon fuer den Job. Installiert werden die Themes indem das Projekt geclont wird. Danach werden die Themedateien in den Theme Ordner kopiert.
git clone https://github.com/afg984/base16-xfce4-terminal
cd base16-xfce4-terminal
cp colorschemes/ ~/~/.local/share/xfce4/terminal/colorschemes/
Make sure that the colorschemes folder exists. Now chose the scheme from the Color Option inside the Terminal.
Shell/Bash
Die Shell Skripte klont man auch und fuehrt sie in der .bashrc beim Start von Bash aus.
git clone https://github.com/chriskempson/base16-shell.git ~/.config/base16-shell
Folgende Zeilen kommen in die .bashrc:
BASE16_SHELL=$HOME/.config/base16-shell/
[ -n "$PS1" ] && [ -s $BASE16_SHELL/profile_helper.sh ] && eval "$($BASE16_SHELL/profile_helper.sh)"
Jetzt kann man seinen Farbstil mit Hilfe des Kommandozeilenprogramms auswaehlen:
$ base16_ocean
Natuerlich sollte vorher der Terminal neu gestartet werden. Das Ergebnis kann wie folgt getestet werden:
~/.config/base16-shell/colortest
Wenn die untersten Linien alle die gleiche Farbe mit verschiedenen Abstufungen haben wie im Bild, stimmt noch etwas nicht.
Vim
Farben werden in Vim ueber die Option colorschme gesteuert. Zum Installieren kann man einen Plugin Manager verwenden. Wenn zum Beispiel Vundle verwendet wird, muss man folgende Zeile zu seinen Plugins in der .vimrc hinzufuegen:
Plugin 'chriskempson/base16-vim'
In der gleichen Datei wird auch das Template ausgewaehlt.
colorschemes base16-ocean
Und um den richtigen Hintergrund auszuwaehlen muessen folgende Zeilen hinzugefuegt werden:
if filereadable(expand("~/.vimrc_background"))
let base16colorspace=256
source ~/.vimrc_background
endif
Tmux
Abschliessend sollte man auch testen, ob alles in tmux funktioniert. Der Terminalmultiplexer muss auf jeden Fall mit tmux -2 gestartet werden. Am einfachsten fuegt man einen Alias in .bashrc hinzu.
alias tmux='tmux -2'
Jetzt sollte alles funktionieren.