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 2 months ago
JSON representation
Neovim plugin for moving lines up and down
- Host: GitHub
- URL: https://github.com/willothy/moveline.nvim
- Owner: willothy
- License: mit
- Created: 2023-02-23T05:39:56.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-08-21T02:55:12.000Z (about 1 year ago)
- Last Synced: 2024-06-23T04:57:25.617Z (3 months ago)
- Topics: developer-tools, neovim, plugin, rust
- Language: Rust
- Homepage:
- Size: 9.21 MB
- Stars: 131
- Watchers: 3
- Forks: 4
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-neovim - willothy/moveline.nvim - Move lines and blocks up and down easily, with indenting handled automatically as you move. Written in Rust. (Editing Support / Scrollbar)
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.