initial commit
This commit is contained in:
4 files changed
+283
No files matched your search
@@ -0,0 +1,93 @@
|
||||
# Neovim Scratch Buffer Plugin
|
||||
|
||||
This plugin provides a simple way to work with scratch buffers in Neovim. It
|
||||
allows you to quickly open a scratch buffer in your current window or in a new
|
||||
split window. The plugin also offers the flexibility to configure the default
|
||||
name of the scratch buffer.
|
||||
|
||||
This plugin is based on
|
||||
[vim-scratch](https://github.com/duff/vim-scratch/tree/master), but written in
|
||||
lua for Neovim.
|
||||
|
||||
## Features
|
||||
|
||||
- Open a scratch buffer in the current window.
|
||||
- Open a scratch buffer in a new split window.
|
||||
- Automatically switch to an existing scratch buffer if it's already open.
|
||||
- Configure the default name for the scratch buffer.
|
||||
- The scratch buffer acts as a temporary workspace and is not backed by a file.
|
||||
|
||||
## Installation
|
||||
|
||||
To install this plugin, you can use your favorite Neovim package manager. For example:
|
||||
|
||||
### [lazy](https://github.com/folke/lazy.nvim) (recommended)
|
||||
|
||||
```lua
|
||||
{
|
||||
"https://git.sr.ht/~swaits/scratch.nvim",
|
||||
lazy = true,
|
||||
keys = {
|
||||
{ "<leader>bs", "<cmd>Scratch<cr>", desc = "Scratch Buffer", mode = "n" },
|
||||
{ "<leader>bS", "<cmd>ScratchSplit<cr>", desc = "Scratch Buffer (split)", mode = "n" },
|
||||
},
|
||||
cmd = {
|
||||
"Scratch",
|
||||
"ScratchSplit",
|
||||
},
|
||||
opts = {},
|
||||
}
|
||||
```
|
||||
|
||||
### [pckr](https://github.com/lewis6991/pckr.nvim)
|
||||
|
||||
```lua
|
||||
{
|
||||
"https://git.sr.ht/~swaits/scratch.nvim",
|
||||
config = function()
|
||||
require("scratch").setup()
|
||||
end
|
||||
}
|
||||
```
|
||||
|
||||
### [vim-plug](https://github.com/junegunn/vim-plug)
|
||||
|
||||
```vim
|
||||
Plug 'https://git.sr.ht/~swaits/scratch.nvim'
|
||||
lua require("scratch").setup()
|
||||
```
|
||||
|
||||
### Configuring
|
||||
|
||||
The default configuration options are listed below:
|
||||
|
||||
```lua
|
||||
opts = {
|
||||
-- The name of the scratch buffer
|
||||
buffer_name = "_SCRATCH_",
|
||||
}
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
### Commands
|
||||
|
||||
The plugin provides two commands:
|
||||
|
||||
- `:Scratch` — Opens or switches to the scratch buffer in the current window.
|
||||
- `:ScratchSplit` — Opens or switches to the scratch buffer in a new split window.
|
||||
|
||||
### Lua Functions
|
||||
|
||||
You can also use the plugin's Lua functions directly:
|
||||
|
||||
- `require('scratch').open()` — Equivalent to `:Scratch`.
|
||||
- `require('scratch').split()` — Equivalent to `:ScratchSplit`.
|
||||
|
||||
## License
|
||||
|
||||
[MIT License](LICENSE)
|
||||
|
||||
## Contributing
|
||||
|
||||
Contributions are welcome! Feel free to open issues or submit pull requests.
|
||||
Reference in new issue
Block a user