filestyle
February 25, 2018 ยท View on GitHub
filestyle is a Vim plugin that highlights unwanted whitespace and characters.
Highlights include:
- Trailing spaces
- Tabs or spaces depending on
'expandtab' - Lines longer than
'textwidth' - Control characters
filestyle also lets you fix these issues (experimental).
Examples



Installation
Step 1: Install filestyle
Pathogen
$ cd ~/.vim/bundle
$ git clone https://github.com/aserebryakov/filestyle.git
NeoBundle
NeoBundle 'aserebryakov/filestyle'
Without plugin manager
Clone or download this repository and copy its contents to your ~/.vim/
directory.
Step 2: Check your colorscheme (Vim only)
When using Vim (not gVim), make sure your colorscheme explicitly defines
ctermbg in a Normal highlight group as it is required for the ignore
patterns feature. For example:
hi Normal ctermbg=15
Usage
filestyle automatically checks each opened file.
Commands
:FileStyleEnable- enable plugin globally:FileStyleDisable- disable plugin globally:FileStyleToggle- toggle enable/disable plugin globally:FileStyleActivate- enable plugin for current buffer:FileStyleDeactivate- disable plugin for current buffer:FileStyleCheck- check current buffer:FileStyleFix- fix style errors
Highlighting rules
- If
'expandtab'is set, highlight tabs (RED), if not, highlight spaces at the beginning of a line (YELLOW). - Highlight trailing spaces (CYAN)
- Highlight line parts that exceed
'textwidth'(INVERT) - Highlight control characters (BLUE)
FileStyleFix rules
- Remove control characters
- Remove trailing spaces
- If
'expandtab'is set, replace tabs with spaces, if not, replace spaces at the beginning of a line with tabs
Ignore file types
By default, filestyle checks all file types. To ignore a file type, for
example text, add the following line to your .vimrc:
let g:filestyle_ignore = ['text']
Ignore patterns
filestyle allows you to specify patterns that should be ignored. To ignore
a pattern, for example quoted lines starting with >, add the following line
to your .vimrc:
let g:filestyle_ignore_patterns = ['^\(> \?\)\+$']
Change highlight groups
filestyle currently uses these highlight groups:
FileStyleTabsError
FileStyleTrailingSpacesError
FileStyleSpacesError
FileStyleControlCharacter
FileStyleTooLongLine
FileStyleIgnoredPattern
Note that FileStyleIgnoredPattern is only used in gVim.
You can change a highlight group in your .vimrc or color scheme like this:
highlight FileStyleTabsError ctermbg=3 guibg=Yellow
Known issues
-
filestyle cannot detect
'textwidth'changes. If you change'textwidth', execute:FileStyleCheckto ensure the new width is used for highlighting long lines. -
Error E315 is be thrown by Vim in case of
'splitbelow'option is set when'help'command is called
Contribution
Source code and issues are hosted on GitHub:
https://github.com/aserebryakov/filestyle
License
Changelog
1.2.0
- Added
FileStyleTogglecommand - Fixed the error if default colorscheme is used
1.1.2
- Fixed error messages when Vim is started in a narrow terminal
- Fixed tag and version number in help file
1.1.1
- Fixed cursor positioning after FileStyleFix call
1.1.0
- Added support for user-defined highlight groups
- Fixed issue with tabs switching in INSERT mode
1.0.0
- Implemented ignored patterns
- Removed highlighting of trailing spaces in current line when in Insert mode
- Improved order of highlights
0.7.1
- Fixed issue with highlighting after colorscheme change
0.7.0
- Implemented style errors fixing (experimental)
- Added commands to enable/disable filestyle globally
- Fixed highlighting of the EOL
- Fixed disabling filestyle for specific buffers
0.6.1
- Fixed compatibility with other plugins when Vundle is used
0.6.0
- Added option to ignore certain file types
- Changed
:FileStyleDeactivateto turn off highlighting in all windows of the current buffer - Added highlighting of control characters
0.5.2
- Fixed the
undefined variable filestyle_activeerror
0.5.1
- Added commands to enable/disable filestyle
- Fixed several bugs
- Changed highlighting to use distinct colors for different violations of buffer settings
0.5.0
- Added highlighting of trailing spaces
- Added highlighting of incorrect indentation