1071d4279SBram Moolenaar:: Start Vim on a copy of the tutor file. 2071d4279SBram Moolenaar@echo off 3071d4279SBram Moolenaar 4071d4279SBram Moolenaar:: Usage: vimtutor [-console] [xx] 5071d4279SBram Moolenaar:: 6071d4279SBram Moolenaar:: -console means gvim will not be used 7071d4279SBram Moolenaar:: xx is a language code like "es" or "nl". 8071d4279SBram Moolenaar:: When an xx argument is given, it tries loading that tutor. 9071d4279SBram Moolenaar:: When this fails or no xx argument was given, it tries using 'v:lang' 10071d4279SBram Moolenaar:: When that also fails, it uses the English version. 11071d4279SBram Moolenaar 12071d4279SBram Moolenaar:: Use Vim to copy the tutor, it knows the value of $VIMRUNTIME 1337f471dfSBram MoolenaarFOR %%d in (. %TMP% %TEMP%) DO ( 14*ee2cbcd9SChristian Brabandt call :test_dir_writable "%~dpf0" %%d 1537f471dfSBram Moolenaar IF NOT ERRORLEVEL 1 GOTO dir_ok 1637f471dfSBram Moolenaar) 1737f471dfSBram Moolenaar 1837f471dfSBram Moolenaarecho No working directory is found 1937f471dfSBram MoolenaarGOTO end 2037f471dfSBram Moolenaar 2137f471dfSBram Moolenaar:test_dir_writable 2237f471dfSBram MoolenaarSET TUTORCOPY=%2\$tutor$ 2337f471dfSBram MoolenaarCOPY %1 %TUTORCOPY% >nul 2>nul 2437f471dfSBram MoolenaarGOTO end 2537f471dfSBram Moolenaar 2637f471dfSBram Moolenaar:dir_ok 27071d4279SBram Moolenaar 28071d4279SBram MoolenaarSET xx=%1 29071d4279SBram Moolenaar 30071d4279SBram MoolenaarIF NOT .%1==.-console GOTO use_gui 31071d4279SBram MoolenaarSHIFT 32071d4279SBram MoolenaarSET xx=%1 33071d4279SBram MoolenaarGOTO use_vim 34071d4279SBram Moolenaar:use_gui 35071d4279SBram Moolenaar 36071d4279SBram Moolenaar:: Try making a copy of tutor with gvim. If gvim cannot be found, try using 37071d4279SBram Moolenaar:: vim instead. If vim cannot be found, alert user to check environment and 38071d4279SBram Moolenaar:: installation. 39071d4279SBram Moolenaar 40071d4279SBram Moolenaar:: The script tutor.vim tells Vim which file to copy. 4137f471dfSBram Moolenaarstart "dummy" /b /w "%~dp0gvim.exe" -u NONE -c "so $VIMRUNTIME/tutor/tutor.vim" 42071d4279SBram MoolenaarIF ERRORLEVEL 1 GOTO use_vim 43071d4279SBram Moolenaar 44071d4279SBram Moolenaar:: Start gvim without any .vimrc, set 'nocompatible' 4537f471dfSBram Moolenaarstart "dummy" /b /w "%~dp0gvim.exe" -u NONE -c "set nocp" %TUTORCOPY% 46071d4279SBram Moolenaar 47071d4279SBram MoolenaarGOTO end 48071d4279SBram Moolenaar 49071d4279SBram Moolenaar:use_vim 50071d4279SBram Moolenaar:: The script tutor.vim tells Vim which file to copy 51dde403c2SBram Moolenaarcall vim -u NONE -c "so $VIMRUNTIME/tutor/tutor.vim" 52071d4279SBram MoolenaarIF ERRORLEVEL 1 GOTO no_executable 53071d4279SBram Moolenaar 54071d4279SBram Moolenaar:: Start vim without any .vimrc, set 'nocompatible' 55dde403c2SBram Moolenaarcall vim -u NONE -c "set nocp" %TUTORCOPY% 56071d4279SBram Moolenaar 57071d4279SBram MoolenaarGOTO end 58071d4279SBram Moolenaar 59071d4279SBram Moolenaar:no_executable 60071d4279SBram MoolenaarECHO. 61071d4279SBram MoolenaarECHO. 62071d4279SBram MoolenaarECHO No vim or gvim found in current directory or PATH. 63071d4279SBram MoolenaarECHO Check your installation or re-run install.exe 64071d4279SBram Moolenaar 65071d4279SBram Moolenaar:end 66071d4279SBram Moolenaar:: remove the copy of the tutor 67071d4279SBram MoolenaarIF EXIST %TUTORCOPY% DEL %TUTORCOPY% 68071d4279SBram MoolenaarSET xx= 69