Skip to content

Commit

Permalink
Add documentation about Tmux-widget
Browse files Browse the repository at this point in the history
  • Loading branch information
bimlas committed Nov 15, 2022
1 parent 8373da2 commit d05fc45
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 0 deletions.
2 changes: 2 additions & 0 deletions README.md
Expand Up @@ -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)
Expand Down
37 changes: 37 additions & 0 deletions 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(<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>';
```

0 comments on commit d05fc45

Please sign in to comment.