Skip to content

Vimium/Easymotion like navigation for tmux.

License

Notifications You must be signed in to change notification settings

schasse/tmux-jump

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vimium/Easymotion like cursor jump for tmux.

Build Status

A fast way to jump wherever you want in your terminal without using the mouse. A plugin similar to vimium and easymotion but for tmux. tmux-jump is written in ruby and can easily be installed via tpm.

tmux-jump-demo

From now to then I think about how to improve my dev tools. Copy and pasting inside the terminal is something I do everyday, all the time. This is one of the most obvious things make more efficient. tmux-yank improved the situation a lot. Though, it felt still annoying to get to the string I wanted to copy. Either I used to enter tmux copy mode and moved the cursor to the string or I used the mouse. I looked for a plugin such as easymotion for vim or ace jump for emacs, but I couldn't find one. So I decided to write my own tmux plugin.

Requirements

Installation via TPM

Add plugin to the list of TPM plugins in ~/.tmux.conf:

set -g @plugin 'schasse/tmux-jump'

Hit tmux-prefix + I to fetch the plugin and source it. You should now be able to use the plugin.

Manual Installation

Clone the repository:

git clone https://github.com/schasse/tmux-jump ~/.tmux-jump

Add the following to .tmux.conf:

run-shell ~/.tmux-jump/tmux-jump.tmux

Reload tmux:

tmux source-file ~/.tmux.conf

Usage

  • tmux-prefix + j and enter the first character of a word.
  • The screen will rerender and highlight the keys to press to jump to the word.
  • Type the key sequence of the word to jump to.
  • The cursor moves to the word.

tmux-jump can also be used in in any program and during copy mode.

You can customize the key binding in your .tmux.conf:

set -g @jump-key 's'

You can also customize foreground and background color:

set -g @jump-bg-color '\e[0m\e[90m'
set -g @jump-fg-color '\e[1m\e[31m'

And the keys position:

# keys will overlap with the word (default)
set -g @jump-keys-position 'left'

# keys will be at the left of the word without overlap
set -g @jump-keys-position 'off_left'

Similar Projects