cfg.msh is a clean configuration set for Bash or Zsh. This work is highly inspired by Oh-My-Zsh features and design, but I chose to write my configuration from scratch as an excercice, and in order to be focused on my own needs and avoid some bogus features with some terminals (and SSH).
I will try to implement features that are compatible with Bash and Zsh as much as possible.
A quick word about the name "msh", M stands for My, Multiple and Martius (a bit of Megalomania, hum?).
There is a script called setup that you can run, I shall do the job for you.
If you don't want to use that script, you can follow these steps :
move or copy the content of cfg.msh where you want to install the scripts
git submodule init
~/.bashrcaccording to the shell program you want to use
Edit the new
.bashrcfile and update the installation path:
If you want to use Zsh, don't forget to choose zsh as your default shell program using:
chsh -s `which zsh`
That's should be sufficient.
You should read the configuration files which are extensively documented. You must be interested in keybindings if you want to know actions implemented behind some keys.
bootstrapsources the scripts in
scripts/*.mshscript are loaded first, then, according to the shell running the script, it calls
scripts/aliasescontains common aliases
scripts/envenvironement specific features (shell options, etc)
scripts/keybindingskey bindings (for zsh)
scripts/viewdisplay setup (prompt, etc)
The shell detection feature (shellname alias) seems to be working under
Gnu/Linux only, since it uses specific options. You can set yourself
Most important additions are on top.
Find a way to hide these ugly characters when I split terminator and the last line displayed will be cut.
Customize autocompletion style
Since I use mostly Zsh, my configuration for bash is currently basic, but I'll try to improve it soon.
The setup script, with an optional minifier allowing to use only one
Oh-My-Zsh plugins autograbber (hum...)
Martin Richard email@example.com