A Neovim plugin that enhances yank and put operations with a yank-ring, history picker, and special put commands.
yanky.nvim is a Neovim plugin that enhances the editor's native copy (yank) and paste (put) capabilities. It solves the problem of limited clipboard history and basic paste operations by introducing a persistent yank-ring, visual history picker, and advanced put commands for more efficient text editing.
Neovim users, particularly developers and writers who frequently copy and paste text within the editor and want more control and history over their clipboard operations.
Developers choose yanky.nvim for its comprehensive feature set that goes beyond basic clipboard functionality, its seamless integration with popular Neovim tools like Telescope, and its Lua-native implementation that offers better performance and configurability within the modern Neovim ecosystem.
Improved Yank and Put functionalities for Neovim
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Maintains a persistent yank-ring with up to 100 entries, allowing cycling through previous yanks using <c-n> and <c-p>, inspired by Emacs' kill-ring, as detailed in the ring configuration.
Integrates seamlessly with Telescope and Snacks for a graphical interface to browse and select from yank history, enhancing usability with picker options like dynamic preview titles.
Offers special put commands like linewise puts, indent-aware puts, and filter puts, providing fine-grained control over paste behavior, with over 70 plug mappings for customization.
Prevents the cursor from jumping to the start of yanked text by default, a feature enabled in preserve_cursor_position settings to maintain editing flow for large text objects.
Requires extensive manual keybinding setup with no default mappings, and the README admits users must define mappings for basic functionality, which can be daunting and error-prone.
For persistent SQLite storage, it necessitates additional dependencies like sqlite.lua, adding complexity and potential installation issues to the plugin ecosystem.
Only works with Neovim > 0.9.0, excluding users on older versions or those using standard Vim, and lacks support for other editors or cross-platform clipboard tools.