Mini.trailspace
Neovim Lua plugin to manage trailspace (highlight and remove). Part of 'mini.nvim' library.
Install / Use
/learn @nvim-mini/Mini.trailspaceREADME
Work with trailing whitespace
See more details in Features and Documentation.
[!NOTE] This was previously hosted at a personal
echasnovskiGitHub account. It was transferred to a dedicated organization to improve long term project stability. See more details here.
⦿ This is a part of mini.nvim library. Please use this link if you want to mention this module.
⦿ All contributions (issues, pull requests, discussions, etc.) are done inside of 'mini.nvim'.
⦿ See whole library documentation to learn about general design principles, disable/configuration recipes, and more.
⦿ See MiniMax for a full config example that uses this module.
If you want to help this project grow but don't know where to start, check out contributing guides of 'mini.nvim' or leave a Github star for 'mini.nvim' project and/or any its standalone Git repositories.
Demo
<!-- Demo source: https://github.com/nvim-mini/assets/blob/main/demo/demo-trailspace.mp4 -->https://user-images.githubusercontent.com/24854248/173045420-7aaf21b6-1d2e-4333-8a23-dea7e49c3a01.mp4
Features
- Highlighting is done only in modifiable buffer by default, only in Normal mode, and stops in Insert mode and when leaving window.
- Trim all trailing whitespace with
MiniTrailspace.trim(). - Trim all trailing empty lines with
MiniTrailspace.trim_last_lines().
Installation
This plugin can be installed as part of 'mini.nvim' library (recommended) or as a standalone Git repository.
There are two branches to install from:
main(default, recommended) will have latest development version of plugin. All changes since last stable release should be perceived as being in beta testing phase (meaning they already passed alpha-testing and are moderately settled).stablewill be updated only upon releases with code tested during public beta-testing phase inmainbranch.
Here are code snippets for some common installation methods (use only one):
<details> <summary>With <a href="https://nvim-mini.org/mini.nvim/readmes/mini-deps">mini.deps</a></summary>-
'mini.nvim' library:
| Branch | Code snippet | |--------|-----------------------------------------------| | Main | Follow recommended 'mini.deps' installation | | Stable | Follow recommended 'mini.deps' installation |
-
Standalone plugin:
| Branch | Code snippet | |--------|----------------------------------------------------------------------| | Main |
add('nvim-mini/mini.trailspace')| | Stable |add({ source = 'nvim-mini/mini.trailspace', checkout = 'stable' })|
-
'mini.nvim' library:
| Branch | Code snippet | |--------|-----------------------------------------------| | Main |
{ 'nvim-mini/mini.nvim', version = false },| | Stable |{ 'nvim-mini/mini.nvim', version = '*' },| -
Standalone plugin:
| Branch | Code snippet | |--------|-----------------------------------------------------| | Main |
{ 'nvim-mini/mini.trailspace', version = false },| | Stable |{ 'nvim-mini/mini.trailspace', version = '*' },|
-
'mini.nvim' library:
| Branch | Code snippet | |--------|------------------------------------------------------| | Main |
Plug 'nvim-mini/mini.nvim'| | Stable |Plug 'nvim-mini/mini.nvim', { 'branch': 'stable' }| -
Standalone plugin:
| Branch | Code snippet | |--------|------------------------------------------------------------| | Main |
Plug 'nvim-mini/mini.trailspace'| | Stable |Plug 'nvim-mini/mini.trailspace', { 'branch': 'stable' }|
Important: don't forget to call require('mini.trailspace').setup() to enable its functionality.
Note: if you are on Windows, there might be problems with too long file paths (like error: unable to create file <some file name>: Filename too long). Try doing one of the following:
- Enable corresponding git global config value:
git config --system core.longpaths true. Then try to reinstall. - Install plugin in other place with shorter path.
Default config
-- No need to copy this inside `setup()`. Will be used automatically.
{
-- Highlight only in normal buffers (ones with empty 'buftype'). This is
-- useful to not show trailing whitespace where it usually doesn't matter.
only_in_normal_buffers = true,
}
Similar plugins
Related Skills
node-connect
349.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.5kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
