vim-shellcheck
Vim wrapper for ShellCheck, a static analysis tool for shell scripts.
Commands
These commands are available in buffers with 'filetype'
of sh
.
:[range]ShellCheck[!] [args]
Run shellcheck
for the current buffer using optional [args]
and send any
errors to the quickfix-window. Specify a [range]
or use a visual selection
to check only those lines, otherwise the entire buffer is checked. Call with a
bang to automatically open the quickfix-window when errors are found.
:[range]LShellCheck[!] [args]
Run shellcheck
for the current buffer using optional [args]
and send any
errors to a location-list-window. Specify a [range]
or use a visual
selection to check only those lines, otherwise the entire buffer is checked.
Call with a bang to automatically open the location-list-window when errors
are found.
QF Mappings
Open ShellCheck error definition on GitHub - gb
The gb
command can be used quickfix or location list windows to open the
ShellCheck error definition on GitHub. This functionality is enabled when the
window’s w:quickfix_title
attribute starts with one of the following:
:shellcheck
– created bycompiler shellcheck | :make
or some other program:ShellCheck
– created by the:ShellCheck
command:LShellCheck
– created by the:LShellCheck
command
To disable this mapping:
let g:shellcheck_disable_mappings = 1
To setup a different map:
let g:shellcheck_disable_mappings = 1
autocmd FileType qf nmap <buffer> <silent> gB <Plug>(shellcheck-gb)
Note: The gb
map will not be defined if one already exists.
Compiler
A ShellCheck :compiler
is provided for use as a 'makeprg'
:
:compiler shellcheck
:make!
Configuration
g:shellcheck_qf_open
Specifies how the quickfix-window is opened when :ShellCheck!
is used. The
default value is "botright copen 10"
.
g:shellcheck_ll_open
Specifies how the location-list-window is opened when :LShellCheck!
is used.
The default value is "lopen 10"
.
Installation
Use your favorite plugin manager, or use Vim’s built-in package support:
mkdir -p ~/.vim/pack/shellcheck/start
cd ~/.vim/pack/shellcheck/start
git clone https://github.com/itspriddle/vim-shellcheck.git
vim -u NONE -c "helptags vim-shellcheck/doc" -c q
License
MIT License - see
LICENSE
in this repo.
Tags: Bash, Git, ShellCheck, Vim Plugin