A Vim plugin which provides ways of navigating JSON document buffers.
:JsonPath: Echoes the path to the identifier under the cursor.:JsonPath path.to.prop: Searches the active buffer for the given path, placing the cursor on it if found.
More information is available via :help jsonpath.
" Install plugin (in this example using vim-plug)
Plug 'mogelbrod/vim-jsonpath'
" Optionally copy path to a named register (* in this case) when calling :JsonPath
let g:jsonpath_register = '*'
" Define mappings for json buffers
au FileType json noremap <buffer> <silent> <leader>d :call jsonpath#echo()<CR>
au FileType json noremap <buffer> <silent> <leader>g :call jsonpath#goto()<CR>While not required it is recommended to use a Vim environment with the
+python3 feature enabled, since the plugin provides a python implementation
that is much faster than the vimscript variant. You can check the availability
using:
:echo has("python3")Mappings are not provided by default but can easily be added to your .vimrc.
-
If you only want mappings when working with
.jsonfiles:au FileType json noremap <buffer> <silent> <leader>d :call jsonpath#echo()<CR> au FileType json noremap <buffer> <silent> <leader>g :call jsonpath#goto()<CR>
-
If you prefer global mappings:
noremap <buffer> <silent> <leader>d :call jsonpath#echo()<CR> noremap <buffer> <silent> <leader>g :call jsonpath#goto()<CR>
See :help jsonpath-configuration for the available configuration options.
Use vim-plug, Vundle, pathogen.vim or another Vim package manager.
Plug 'mogelbrod/vim-jsonpath' " example using vim-plug