Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/willothy/moveline.nvim

Neovim plugin for moving lines up and down
https://github.com/willothy/moveline.nvim

developer-tools neovim plugin rust

Last synced: about 1 month ago
JSON representation

Neovim plugin for moving lines up and down

Lists

README

        

# Moveline.nvim

Moveline is a simple plugin for moving lines up and down. It's written in Rust using my library [nvim-utils](https://github.com/willothy/nvim-utils).

https://user-images.githubusercontent.com/38540736/222247952-b61ee3bd-c4f3-4c45-813e-b82db9fdcc13.mp4

## Installation

Moveline can be installed using any Neovim package manager that supports build commands.

### Lazy.nvim

```lua
{
'willothy/moveline.nvim',
build = 'make',
}
```

### Packer.nvim

```lua
use('willothy/moveline', { run = 'make' })
```

## Usage

Moveline does not set any keybinds. It simply exports four functions: `up` and `down` for moving single lines, and `block_up` and `block_down` for moving visual selections.

You can use these functions to set your own keybinds. Here's my setup:

```lua
local moveline = require('moveline')
vim.keymap.set('n', '', moveline.up)
vim.keymap.set('n', '', moveline.down)
vim.keymap.set('v', '', moveline.block_up)
vim.keymap.set('v', '', moveline.block_down)
```

Moveline functions accept counts. For example, with the keybinds above, typing `5` will move
the current line up 5 lines.