patch 8.0.1232: MS-Windows users are confused about default mappings

Problem:    MS-Windows users are confused about default mappings.
Solution:   Don't map keys in the console where they don't work.  Add a choice
            in the installer to use MS-Windows key bindings or not. (Christian
            Brabandt, Ken Takata, closes #2093)
This commit is contained in:
Bram Moolenaar
2017-10-28 18:36:48 +02:00
parent c312b8b87a
commit c3fdf7f80b
6 changed files with 161 additions and 17 deletions

View File

@ -83,6 +83,7 @@ SilentInstall normal
# These are the pages we use
Page license
Page components
Page custom SetCustom ValidateCustom ": _vimrc setting"
Page directory "" "" CheckInstallDir
Page instfiles
UninstPage uninstConfirm
@ -135,6 +136,10 @@ Function .onInit
StrCpy $1 "-register-OLE"
StrCpy $2 "gvim evim gview gvimdiff vimtutor"
# Extract InstallOptions files
# $PLUGINSDIR will automatically be removed when the installer closes
InitPluginsDir
File /oname=$PLUGINSDIR\vimrc.ini "vimrc.ini"
FunctionEnd
Function .onUserAbort
@ -404,7 +409,7 @@ Section "Add an Edit-with-Vim context menu entry"
SectionEnd
##########################################################
Section "Create a _vimrc if it doesn't exist"
Section "Create a _vimrc if it doesn't exist" sec_vimrc_id
SectionIn 1 3
StrCpy $1 "$1 -create-vimrc"
@ -462,6 +467,45 @@ Section -post
BringToFront
SectionEnd
##########################################################
Function SetCustom
# Display the InstallOptions dialog
# Check if a _vimrc should be created
SectionGetFlags ${sec_vimrc_id} $0
IntOp $0 $0 & 1
StrCmp $0 "1" +2 0
Abort
Push $3
InstallOptions::dialog "$PLUGINSDIR\vimrc.ini"
Pop $3
Pop $3
FunctionEnd
Function ValidateCustom
ReadINIStr $3 "$PLUGINSDIR\vimrc.ini" "Field 2" "State"
StrCmp $3 "1" 0 +3
StrCpy $1 "$1 -vimrc-remap no"
Goto behave
StrCpy $1 "$1 -vimrc-remap win"
behave:
ReadINIStr $3 "$PLUGINSDIR\vimrc.ini" "Field 5" "State"
StrCmp $3 "1" 0 +3
StrCpy $1 "$1 -vimrc-behave unix"
Goto done
ReadINIStr $3 "$PLUGINSDIR\vimrc.ini" "Field 6" "State"
StrCmp $3 "1" 0 +3
StrCpy $1 "$1 -vimrc-behave mswin"
Goto done
StrCpy $1 "$1 -vimrc-behave default"
done:
FunctionEnd
##########################################################
Section Uninstall
# Apparently $INSTDIR is set to the directory where the uninstaller is