From 9d543e6e2099465a27a4a4274107035ba71f9507 Mon Sep 17 00:00:00 2001 From: Sean Kelly Date: Thu, 25 Aug 2016 23:32:03 -0700 Subject: [PATCH] fix #652 (#655) --- src/actions/actions.ts | 10 ++++++++++ src/mode/modeHandler.ts | 2 ++ 2 files changed, 12 insertions(+) diff --git a/src/actions/actions.ts b/src/actions/actions.ts index 0d88b0296ef..f302790dda4 100644 --- a/src/actions/actions.ts +++ b/src/actions/actions.ts @@ -614,6 +614,16 @@ class CommandInsertInSearchMode extends BaseCommand { vimState.currentMode = ModeName.Normal; vimState.cursorPosition = searchState.getNextSearchMatchPosition(searchState.searchCursorStartPosition).pos; + // Repeat the previous search if no new string is entered + if (searchState.searchString === "") { + const prevSearch = vimState.searchStatePrevious!; + if (prevSearch) { + searchState.searchString = prevSearch.searchString; + } + } + // Store this search + vimState.searchStatePrevious = searchState; + return vimState; } else if (key === "") { vimState.currentMode = ModeName.Normal; diff --git a/src/mode/modeHandler.ts b/src/mode/modeHandler.ts index 84b6d899530..2aa89dd069c 100644 --- a/src/mode/modeHandler.ts +++ b/src/mode/modeHandler.ts @@ -93,6 +93,8 @@ export class VimState { public searchState: SearchState | undefined = undefined; + public searchStatePrevious: SearchState | undefined = undefined; + public replaceState: ReplaceState | undefined = undefined; /**