navi (interactive cli cheatsheet) integration into xonsh (shell)
If you like the idea click ⭐ on the repo
xpip install xontrib-navi
# or: xpip install -U git+https://github.com/eugenesvk/xontrib-navi
- Add the following to your
.py
xontrib loading config andimport
it in your xonsh run control file (~/.xonshrc
or~/.config/rc.xsh
):
from xonsh.xontribs import xontribs_load
from xonsh.built_ins import XSH
envx = XSH.env
xontribs = [ "navi", # Initializes navi (interactive cli cheatsheet)
# your other xontribs
] # ↓ optional configuration variables (use `False` to disable a keybind)
if 'navi' in xontribs: # Configure navi only if you're actually loading it
#Config var Value ≝Default¦alt_cmd comment
envx["X_NAVI_KEY" ] = "⎈g" #≝c-g ¦False Autofill existing command with navi's best match or launch navi if no good match found
envx["x_navi_key_skim"] = "⎇g" #≝False Autofill existing command with navi's best match or launch navi if no good match found (skim)
# run to see the allowed list for ↑: from prompt_toolkit.keys import ALL_KEYS; print(ALL_KEYS)
# Alt is also supported as either of: a- ⎇ ⌥ (converted to a prefix 'escape')
# Control symbols are also supported as either of: ⎈ ⌃
xontribs_load(xontribs) # actually load all xontribs in the list
- Or just add this to your xonsh run control file
xontrib load navi # Initializes navi (interactive cli cheatsheet)
# configure like in the example above, but replace envx['VAR'] with $VAR
$X_NAVI_KEY = "c-g" # ...
$x_navi_key_skim = ["escape","g"] # ...
- ⎈g run navi
git sta
⎈ggit status
autoreplace with navi's best matchgit status
⎈g run navi with current command as search inputgit sta‸; git show
⎈ggit status‸; git show
autoreplace only the command at ‸cursor
- Bottom toolbar may temporary disappear on some invokations of the commands in this xonrib likely due to this xonsh issue
This package was created with xontrib template