diff --git a/README.md b/README.md index 1f48cfb..bc8b7c0 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,8 @@ There are multiple ways to use **navi**: - pros: you have access to all possible subcommands and flags - as a [shell widget](docs/installation.md#installing-the-shell-widget) for the terminal - pros: the shell history is correctly populated (i.e. with the actual command you ran instead of `navi`) and you can edit the command as you wish before executing it +- as a [Tmux widget](docs/tmux.md) + - pros: you can use your cheatsheets in any command-line app even in SSH sessions - as [aliases](docs/aliases.md) - as a [shell scripting tool](docs/shell_scripting.md) - as an [Alfred workflow](docs/alfred.md) diff --git a/docs/tmux.md b/docs/tmux.md new file mode 100644 index 0000000..8263010 --- /dev/null +++ b/docs/tmux.md @@ -0,0 +1,37 @@ +## Tmux + +You can use **navi** as a [Tmux](https://github.com/tmux/tmux/wiki) widget to reach your Vim commands, often used SQL queries, etc. in any command-line app even in SSH sessions. + +Add these lines to your Tmux config file to access **navi** by pressing `prefix + C-g`. + +```sh +bind-key -T prefix C-g split-window \ + "$SHELL --login -i -c 'navi --print | head -c -1 | tmux load-buffer -b tmp - ; tmux paste-buffer -p -t {last} -b tmp -d'" +``` + +Example cheatsheet: + +```sh +% vim + +# Quit without save +qa! + +# Delete a paragraph +normal dap + +# Generate sequence of numbers +put =range(, ) + +% postgresql + +# Describe table columns in `psql` or `pgcli` +select + table_name, + column_name, + data_type +from + information_schema.columns +where + table_name = ''; +```