mirror of
https://github.com/vim/vim
synced 2025-05-02 06:17:46 +02:00
Problem: the vimtutor can be improved Solution: port and include the interactive vimtutor plugin from Neovim (by Felipe Morales) (Yegappan Lakshmanan) closes: #6414 Signed-off-by: Christian Brabandt <cb@256bit.org> Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
45 lines
1,003 B
VimL
45 lines
1,003 B
VimL
" vim: fdm=marker
|
|
|
|
" Base: {{{1
|
|
call tutor#SetupVim()
|
|
|
|
" Buffer Settings: {{{1
|
|
setlocal noreadonly
|
|
if !exists('g:tutor_debug') || g:tutor_debug == 0
|
|
setlocal buftype=nofile
|
|
setlocal concealcursor+=inv
|
|
setlocal conceallevel=2
|
|
else
|
|
setlocal buftype=
|
|
setlocal concealcursor&
|
|
setlocal conceallevel=0
|
|
endif
|
|
setlocal noundofile
|
|
|
|
setlocal keywordprg=:help
|
|
setlocal iskeyword=@,-,_
|
|
|
|
" The user will have to enable the folds himself, but we provide the foldexpr
|
|
" function.
|
|
setlocal foldmethod=manual
|
|
setlocal foldexpr=tutor#TutorFolds()
|
|
setlocal foldlevel=4
|
|
|
|
" Load metadata if it exists: {{{1
|
|
if filereadable(expand('%').'.json')
|
|
call tutor#LoadMetadata()
|
|
endif
|
|
|
|
" Mappings: {{{1
|
|
|
|
call tutor#SetNormalMappings()
|
|
|
|
" Checks: {{{1
|
|
|
|
sign define tutorok text=✓ texthl=tutorOK
|
|
sign define tutorbad text=✗ texthl=tutorX
|
|
|
|
if !exists('g:tutor_debug') || g:tutor_debug == 0
|
|
call tutor#ApplyMarks()
|
|
autocmd! TextChanged,TextChangedI <buffer> call tutor#ApplyMarksOnChanged()
|
|
endif
|