Have your cake and eat it too!
ohmyksh
is a framework for expanding OpenBSD's ksh. It offers:
-
completions
- for common things like man pages, ssh known_hosts and git
commands.
-
extensions
- to import bulk functionality, including git-prompt, OpenBSD
specific tooling, disabling color.. etc.
-
prompts
- a decent selection of useful prompts.
Completions
Name |
Completes |
git |
add, fetch… |
gopass |
audit, config… |
man |
man pages |
rc |
OpenBSD rc scripts and rc commands |
ssh |
ssh known hosts |
vmd |
vmctl commands and VM names |
Extensions
Name |
Description |
fonts |
Load fonts from common locations. |
fzf |
- |
git-prompt |
A port of git-prompt for KSH. |
k |
A tool to quickly change directories. |
nocolor |
Disable terminal color options for many tools. |
openbsd |
A set of tools for working with the OpenBSD source trees. |
Prompts
Name |
Example |
q |
qbit@litr[0]:~$ |
og-openbsd |
$ |
Example usage
OHMYKSH_DIR=/home/qbit/src/ohmyksh
. ~${OHMYKSH_DIR}/ohmy.ksh
set -A my_paths -- \
/usr/ports/infrastructure/bin \
~/bin \
~/go/bin \
/usr/local/plan9/bin
paths "${my_paths[@]}"
load_extension fonts
load_extension k
load_extension nocolor
load_extension openbsd
load_completion ssh
load_completion vmd
load_completion rc
load_completion gopass
load_completion git
alias vi=vim
# the q prompt auto-loads the git-prompt extension
set_prompt q