Add documentation about Tmux-widget

This commit is contained in:
bimlas 2022-11-15 20:53:14 +01:00
parent 8373da2166
commit d05fc4538d
2 changed files with 39 additions and 0 deletions

View file

@ -49,6 +49,8 @@ There are multiple ways to use **navi**:
- pros: you have access to all possible subcommands and flags - pros: you have access to all possible subcommands and flags
- as a [shell widget](docs/installation.md#installing-the-shell-widget) for the terminal - 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 - 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 [aliases](docs/aliases.md)
- as a [shell scripting tool](docs/shell_scripting.md) - as a [shell scripting tool](docs/shell_scripting.md)
- as an [Alfred workflow](docs/alfred.md) - as an [Alfred workflow](docs/alfred.md)

37
docs/tmux.md Normal file
View file

@ -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(<start>, <stop>)
% postgresql
# Describe table columns in `psql` or `pgcli`
select
table_name,
column_name,
data_type
from
information_schema.columns
where
table_name = '<table>';
```