1:: Start Vim on a copy of the tutor file. 2@echo off 3 4:: Usage: vimtutor [-console] [xx] 5:: 6:: -console means gvim will not be used 7:: xx is a language code like "es" or "nl". 8:: When an xx argument is given, it tries loading that tutor. 9:: When this fails or no xx argument was given, it tries using 'v:lang' 10:: When that also fails, it uses the English version. 11 12:: Use Vim to copy the tutor, it knows the value of $VIMRUNTIME 13FOR %%d in (. %TMP% %TEMP%) DO ( 14 call :test_dir_writable "%~dpf0" %%d 15 IF NOT ERRORLEVEL 1 GOTO dir_ok 16) 17 18echo No working directory is found 19GOTO end 20 21:test_dir_writable 22SET TUTORCOPY=%2\$tutor$ 23COPY %1 %TUTORCOPY% >nul 2>nul 24GOTO end 25 26:dir_ok 27 28SET xx=%1 29 30IF NOT .%1==.-console GOTO use_gui 31SHIFT 32SET xx=%1 33GOTO use_vim 34:use_gui 35 36:: Try making a copy of tutor with gvim. If gvim cannot be found, try using 37:: vim instead. If vim cannot be found, alert user to check environment and 38:: installation. 39 40:: The script tutor.vim tells Vim which file to copy. 41start "dummy" /b /w "%~dp0gvim.exe" -u NONE -c "so $VIMRUNTIME/tutor/tutor.vim" 42IF ERRORLEVEL 1 GOTO use_vim 43 44:: Start gvim without any .vimrc, set 'nocompatible' 45start "dummy" /b /w "%~dp0gvim.exe" -u NONE -c "set nocp" %TUTORCOPY% 46 47GOTO end 48 49:use_vim 50:: The script tutor.vim tells Vim which file to copy 51call vim -u NONE -c "so $VIMRUNTIME/tutor/tutor.vim" 52IF ERRORLEVEL 1 GOTO no_executable 53 54:: Start vim without any .vimrc, set 'nocompatible' 55call vim -u NONE -c "set nocp" %TUTORCOPY% 56 57GOTO end 58 59:no_executable 60ECHO. 61ECHO. 62ECHO No vim or gvim found in current directory or PATH. 63ECHO Check your installation or re-run install.exe 64 65:end 66:: remove the copy of the tutor 67IF EXIST %TUTORCOPY% DEL %TUTORCOPY% 68SET xx= 69