Code Monkey home page Code Monkey logo

easyjump.tmux's Introduction

easyjump.tmux

EasyMotion for Tmux

Demonstration

๐Ÿ“น: https://asciinema.org/a/372086

This project is heavily inspired by tmux-jump.

There some differences between tmux-jump and easyjump.tmux:

  • easyjump.tmux can be integrated into Vim/Neovim! ๐Ÿ”ฅ See Integration with Vim for more details.
  • easyjump.tmux supports the smart case-insensitive search (turned on by default).
  • tmux-jump searches by 1 char and easyjump.tmux does by 2 chars.
  • tmux-jump only matches the prefixes of words, easyjump.tmux matches all substrings.
  • tmux-jump is implemented in Ruby and easyjump.tmux is done in Python 3 with type hints.

Requirements

  • Python >= 3.8

Windows is not supported now.

Installation

  • TPM

    1. Add to ~/.tmux.conf:

      set-option -g @plugin "roy2220/easyjump.tmux"
    2. Press prefix + I to install the plugin.

  • Manual

    1. Fetch the source:

      git clone https://github.com/roy2220/easyjump.tmux.git /PATH/TO/DIR
    2. Add to ~/.tmux.conf:

      run-shell "/PATH/TO/DIR/easyjump.tmux"
    3. Reload Tmux configuration:

      tmux source ~/.tmux.conf

Usage

  • Press prefix + j to invoke EasyJump.
  • Press Ctrl + j to invoke EasyJump in copy mode.
  • Press Enter to cancel EasyJump.

Configuration

defaults:

set-option -g @easyjump-key-binding "j"
set-option -g @easyjump-smart-case "on"
set-option -g @easyjump-label-chars "fjdkslaghrueiwoqptyvncmxzb1234567890"
set-option -g @easyjump-label-attrs "\e[1m\e[38;5;172m"
set-option -g @easyjump-text-attrs "\e[0m\e[38;5;237m"

Integration with Vim

Vim 8 or Neovim is required.

Demonstration in Vim

๐Ÿ“น: https://asciinema.org/a/372879

Installation in Vim

  • vim-plug

    1. Add to ~/.vimrc:
    Plug 'roy2220/easyjump.tmux'
    1. Just :PlugInstall
  • Manual

    1. Fetch the source:

      git clone https://github.com/roy2220/easyjump.tmux.git /PATH/TO/DIR
    2. Add to ~/.vimrc:

      source /PATH/TO/DIR/plugin/easyjump.vim
    3. Reload Vim configuration:

      :source ~/.vimrc

Usage in Vim

  • Press Ctrl + j to invoke EasyJump in normal mode, insert mode, visual mode or operator-pending mode.
  • Press Enter to cancel EasyJump.

Configuration in Vim

defaults:

let g:easyjump_smart_case = v:true
let g:easyjump_label_chars = 'fjdkslaghrueiwoqptyvncmxzb1234567890'
let g:easyjump_label_attrs = "\e[1m\e[38;5;172m"
let g:easyjump_text_attrs = "\e[0m\e[38;5;237m"

nmap <C-J> <Plug>EasyJump
imap <C-J> <Plug>EasyJump

easyjump.tmux's People

Contributors

roy2220 avatar

Stargazers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.