# hop.nvim2 **Repository Path**: wedojava/hop.nvim2 ## Basic Information - **Project Name**: hop.nvim2 - **Description**: https://github.com/smoka7/hop.nvim - **Primary Language**: Unknown - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-06-05 - **Last Updated**: 2024-06-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README __ / /_ ____ ____ / __ \/ __ \/ __ \ / / / / /_/ / /_/ / /_/ /_/\____/ .___/ /_/ · Neovim motions on speed! ·

**Hop** is an [EasyMotion](https://github.com/easymotion/vim-easymotion)-like plugin allowing you to jump anywhere in a document with as few keystrokes as possible. It does so by annotating text in your buffer with hints, short string sequences for which each character represents a key to type to jump to the annotated text. Most of the time, those sequences’ lengths will be between 1 to 3 characters, making every jump target in your document reachable in a few keystrokes.

This is a fork of the [original hop.nvim repo](https://github.com/phaazon/hop.nvim) # Features - Go to any word in the current buffer (`:HopWord`). - Go to any camelCase word in the current buffer (`:HopCamelCase`). - Go to any character in the current buffer (`:HopChar1`). - Go to any bigrams in the current buffer (`:HopChar2`). - Make an arbitrary search akin to / and go to any occurrences (`:HopPattern`). - Go to any line and any line start (`:HopLine`, `:HopLineStart`). - Go to anywhere (`:HopAnywhere`). - Go to treesitter nodes (`:HopNodes`). - Paste text in the hinted position without jumping (`:HopPaste`). - Yank the text between two hinted position without jumping (`:HopYankChar1`). - Use Hop cross windows with multi-windows support (`:Hop*MW`). - Use it with commands like `v`, `d`, `c`, `y` to visually select/delete/change/yank up to your new cursor position. - Support a wide variety of user configuration options, among the possibility to alter the behavior of commands to hint only before or after the cursor (`:Hop*BC`, `:Hop*AC`), for the current line (`:Hop*CurrentLine`), change the dictionary keys to use for the labels, jump on sole occurrence, etc. - Extensible: provide your own jump targets and create Hop extensions! # Installation ## Using lazy.nvim ```lua { 'smoka7/hop.nvim', version = "*", opts = { keys = 'etovxqpdygfblzhckisuran' } } ``` ## Using packer ```lua use { 'smoka7/hop.nvim', tag = '*', -- optional but strongly recommended config = function() -- you can configure Hop the way you like here; see :h hop-config require'hop'.setup { keys = 'etovxqpdygfblzhckisuran' } end } ``` ## Supported Neovim versions Hop supports **latest stable release** and nightly releases of Neovim. However, keep in mind that if you are on a nightly version, you must be **on the last one**. If you are not, then you are exposed to compatibility issues / breakage. ## Important note about versioning This plugin implements [SemVer] via git tags. Versions are prefixed with a `v`. You are **advised** to use a major version dependency to be sure your config will not break when Hop gets updated. # Usage See the [wiki](https://github.com/smoka7/hop.nvim/wiki). # Keybindings Hop doesn’t set any keybindings; you will have to define them by yourself. If you want to create a key binding from within Lua: ```lua -- place this in one of your configuration file(s) local hop = require('hop') local directions = require('hop.hint').HintDirection vim.keymap.set('', 'f', function() hop.hint_char1({ direction = directions.AFTER_CURSOR, current_line_only = true }) end, {remap=true}) vim.keymap.set('', 'F', function() hop.hint_char1({ direction = directions.BEFORE_CURSOR, current_line_only = true }) end, {remap=true}) vim.keymap.set('', 't', function() hop.hint_char1({ direction = directions.AFTER_CURSOR, current_line_only = true, hint_offset = -1 }) end, {remap=true}) vim.keymap.set('', 'T', function() hop.hint_char1({ direction = directions.BEFORE_CURSOR, current_line_only = true, hint_offset = 1 }) end, {remap=true}) ``` # Other tools like hop.nvim * [sneak.nvim](https://github.com/justinmk/vim-sneak) * [EasyMotion](https://github.com/easymotion/vim-easymotion) * [Seek](https://github.com/goldfeld/vim-seek) * [smalls](https://github.com/t9md/vim-smalls) * [improvedft](https://github.com/chrisbra/improvedft) * [clever-f](https://github.com/rhysd/clever-f.vim) * [vim-extended-ft](https://github.com/svermeulen/vim-extended-ft) * [Fanf,ingTastic;](https://github.com/dahu/vim-fanfingtastic) * [IdeaVim-Sneak](https://plugins.jetbrains.com/plugin/15348-ideavim-sneak) * [leap.nvim](https://github.com/ggandor/leap.nvim) * [flash.nvim](https://github.com/folke/flash.nvim)