Skip to content

yochem/autosplit.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 

Repository files navigation

autosplit.nvim

This plugin adds the user command :Sp[lit] to Neovim. It works the same as Neovim's :sp[lit] and :vs[plit], but can be configured to split automatically, always horizontal or always vertical. The automatic split is based on if the current window is wider than than your preferred minimal window width.

Installation

Use 'yochem/autosplit.nvim' with your package manager.

Configuration

Currently, these are the options you can configure and their defaults:

require('autosplit').setup({
    split = 'auto', -- choose one of 'auto', 'horizontal' and 'vertical'
    min_win_width = 80 -- the minimal width you want for a splitted window
})

Usage

Just replace all your usage of :split with :Split. It has the same signature as :split (see :help :split for more information):

:[N]Sp[lit] [file]

This means that you can open this README.md in a new horizontal split of 5 lines high using :5Sp README.md.

It is of course also possible to remap this to a keybinding, or even better, use :cabbrev if you want to replace :split with this version:

vim.cmd('cabbrev sp Sp')
vim.cmd('cabbrev split Split')

This abbreviation however does not work when using a count (:10sp does not change to :10Sp ).

Heuristic for auto option

The current heuristic for the auto option whether to split vertical or horizontal is based on if the current window can split in two N-column windows, with N being configurable. If you think there is a better heuristic, for example using the ratio between window width and height, let me know!

About

✂️ Split windows horizontal/vertical automatically in neovim!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages