GitHub - tpope/vim-sleuth: sleuth.vim: Heuristically set buffer options (original) (raw)
sleuth.vim
This plugin automatically adjusts 'shiftwidth'
and 'expandtab'
heuristically based on the current file, or, in the case the current file is new, blank, or otherwise insufficient, by looking at other files of the same type in the current and parent directories. Modelines and EditorConfigare also consulted, adding 'tabstop'
, 'textwidth'
, 'endofline'
,'fileformat'
, 'fileencoding'
, and 'bomb'
to the list of supported options.
Installation
Install using your favorite package manager, or use Vim's built-in package support:
mkdir -p ~/.vim/pack/tpope/start
cd ~/.vim/pack/tpope/start
git clone https://tpope.io/vim/sleuth.git
vim -u NONE -c "helptags sleuth/doc" -c q
Notes
- If your file is consistently indented with hard tabs,
'shiftwidth'
will be set to your'tabstop'
. Otherwise, a'tabstop'
of 8 is enforced, unless another value is explicitly declared in a modeline or EditorConfig.
Self-Promotion
Like sleuth.vim? Follow the repository onGitHub and vote for it onvim.org. And if you're feeling especially charitable, follow tpope onTwitter andGitHub.
License
Copyright © Tim Pope. Distributed under the same terms as Vim itself. See :help license
.