diff --git a/src/MacVim/KeyBinding.plist b/src/MacVim/KeyBinding.plist index 90fcdc0c52..ccc6702567 100644 --- a/src/MacVim/KeyBinding.plist +++ b/src/MacVim/KeyBinding.plist @@ -150,11 +150,11 @@ centerSelectionInVisibleArea: ^n moveDown: - ^o + ^p moveUp: ^t @@ -370,7 +370,7 @@ moveToBeginningOfLineAndModifySelection: ^$ moveToEndOfLineAndModifySelection: - ~ + ~ moveWordLeft: ~ diff --git a/src/MacVim/MMBackend.m b/src/MacVim/MMBackend.m index dc849b68fe..4960e7bac8 100644 --- a/src/MacVim/MMBackend.m +++ b/src/MacVim/MMBackend.m @@ -1135,7 +1135,8 @@ - (oneway void)processInput:(int)msgid data:(in bycopy NSData *)data if (1 == len) { char_u *str = (char_u*)bytes; if ((str[0] == Ctrl_C && ctrl_c_interrupts) || - (str[0] == intr_char && intr_char != Ctrl_C)) { + (str[0] == intr_char && intr_char != 0)) { + ASLogDebug(@"Got INT, str[0]=%#x", str[0]); got_int = TRUE; [inputQueue removeAllObjects]; return; diff --git a/src/MacVim/MMTextViewHelper.m b/src/MacVim/MMTextViewHelper.m index c13df9690f..6f29bcb3b3 100644 --- a/src/MacVim/MMTextViewHelper.m +++ b/src/MacVim/MMTextViewHelper.m @@ -251,7 +251,7 @@ - (void)doCommandBySelector:(SEL)sel @selector(deleteWordBackward:) == sel || @selector(deleteBackwardByDecomposingPreviousCharacter:) == sel || @selector(deleteToBeginningOfLine:) == sel) - [self doKeyDown:@"\x7f"]; + [self doKeyDown:@"\x08"]; else if (@selector(keySpace:) == sel) [self doKeyDown:@" "]; else if (@selector(cancel:) == sel) @@ -262,6 +262,8 @@ - (void)doCommandBySelector:(SEL)sel - (BOOL)performKeyEquivalent:(NSEvent *)event { ASLogDebug(@""); + if ([event type] != NSKeyDown) + return NO; // NOTE: Key equivalent handling was fixed in Leopard. That is, an // unhandled key equivalent is passed to keyDown: -- contrast this with @@ -294,9 +296,7 @@ - (BOOL)performKeyEquivalent:(NSEvent *)event // HACK! Pass the event on or it may disappear (Tiger does not pass Cmd-key // events to keyDown:). - if ([event type] == NSKeyDown) - [self keyDown:event]; - + [self keyDown:event]; return YES; }