diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index c01f1d0..33806bb 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -751,6 +751,8 @@
 				   lines down
 |gk|		gk		1  like "k", but when 'wrap' on go N screen
 				   lines up
+|gn|		gn	      1,2  find the next match with the last used
+				   search pattern and Visually select it
 |gm|		gm		1  go to character at middle of the screenline
 |go|		go		1  cursor to byte N in the buffer
 |gp|		["x]gp		2  put the text [from register x] after the
diff --git a/runtime/doc/visual.txt b/runtime/doc/visual.txt
index 4457aeb..74727ec 100644
--- a/runtime/doc/visual.txt
+++ b/runtime/doc/visual.txt
@@ -99,6 +99,18 @@
 			After using "p" or "P" in Visual mode the text that
 			was put will be selected.
 
+								*gn* *v_gn*
+gn			Search forward for the last used search pattern, like
+			with `n`, and start Visual mode to select the match.
+			If the cursor is on the match, visually selects it.
+			If an operator is pending, operates on the match.
+			E.g., "dgn" deletes the text of the next match.
+			If Visual mode is active, extends the selection
+			until the end of the next match.
+
+								*gN* *v_gN*
+gN			Like |gn| but searches backward, like with `N`.
+
 							*<LeftMouse>*
 <LeftMouse>		Set the current cursor position.  If Visual mode is
 			active it is stopped.  Only when 'mouse' option is
diff --git a/src/normal.c b/src/normal.c
index 66654f8..0791b1a 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -1780,10 +1780,18 @@
 	    {
 		/* Prepare for redoing.  Only use the nchar field for "r",
 		 * otherwise it might be the second char of the operator. */
-		prep_redo(oap->regname, 0L, NUL, 'v',
-				get_op_char(oap->op_type),
-				get_extra_op_char(oap->op_type),
-				oap->op_type == OP_REPLACE ? cap->nchar : NUL);
+		if (cap->cmdchar == 'g' && (cap->nchar == 'n'
+							|| cap->nchar == 'N'))
+		    /* "gn" and "gN" are a bit different */
+		    prep_redo(oap->regname, 0L, NUL, cap->cmdchar, cap->nchar,
+					get_op_char(oap->op_type),
+					get_extra_op_char(oap->op_type));
+		else
+		    prep_redo(oap->regname, 0L, NUL, 'v',
+					get_op_char(oap->op_type),
+					get_extra_op_char(oap->op_type),
+					oap->op_type == OP_REPLACE
+							  ? cap->nchar : NUL);
 		if (!redo_VIsual_busy)
 		{
 		    redo_VIsual_mode = resel_VIsual_mode;
@@ -7987,6 +7995,17 @@
 	cap->arg = TRUE;
 	nv_visual(cap);
 	break;
+
+    /* "gn", "gN" visually select next/previous search match
+     * "gn" selects next match
+     * "gN" selects previous match
+     */
+    case 'N':
+    case 'n':
+	if (!current_search(cap->count1, cap->nchar == 'n'))
+	    beep_flush();
+
+	break;
 #endif /* FEAT_VISUAL */
 
     /*
diff --git a/src/proto/search.pro b/src/proto/search.pro
index 7f3947c..9b1fc63 100644
--- a/src/proto/search.pro
+++ b/src/proto/search.pro
@@ -27,6 +27,7 @@
 int end_word __ARGS((long count, int bigword, int stop, int empty));
 int bckend_word __ARGS((long count, int bigword, int eol));
 int current_word __ARGS((oparg_T *oap, long count, int include, int bigword));
+int current_search __ARGS((long count, int forward));
 int current_sent __ARGS((oparg_T *oap, long count, int include));
 int current_block __ARGS((oparg_T *oap, long count, int include, int what, int other));
 int current_tagblock __ARGS((oparg_T *oap, long count_arg, int include));
diff --git a/src/search.c b/src/search.c
index 9f9f0c1..5db1d57 100644
--- a/src/search.c
+++ b/src/search.c
@@ -3397,6 +3397,151 @@
     return OK;
 }
 
+#if defined(FEAT_VISUAL) || defined(PROTO)
+/*
+ * Find next search match under cursor, cursor at end.
+ * Used while an operator is pending, and in Visual mode.
+ * TODO: redo only works when used in operator pending mode
+ */
+    int
+current_search(count, forward)
+    long	count;
+    int		forward;	/* move forward or backwards */
+{
+    pos_T	start_pos;	/* position before the pattern */
+    pos_T	orig_pos;	/* position of the cursor at beginning */
+    pos_T	pos;		/* position after the pattern */
+    int		i;
+    int		dir;
+    int		result;		/* result of various function calls */
+    char_u	old_p_ws = p_ws;
+    int		visual_active = FALSE;
+    int		flags = 0;
+    pos_T	save_VIsual;
+
+
+    /* wrapping should not occur */
+    p_ws = FALSE;
+
+    /* Correct cursor when 'selection' is exclusive */
+    if (VIsual_active && *p_sel == 'e' && lt(VIsual, curwin->w_cursor))
+	dec_cursor();
+
+    if (VIsual_active)
+    {
+	orig_pos = curwin->w_cursor;
+	save_VIsual = VIsual;
+	visual_active = TRUE;
+
+	/* just started visual selection, only one character */
+	if (equalpos(VIsual, curwin->w_cursor))
+	    visual_active = FALSE;
+
+	pos = curwin->w_cursor;
+	start_pos = VIsual;
+
+	/* make sure, searching further will extend the match */
+	if (VIsual_active)
+	{
+	    if (forward)
+		incl(&pos);
+	    else
+		decl(&pos);
+	}
+    }
+    else
+	orig_pos = pos = start_pos = curwin->w_cursor;
+
+    /*
+     * The trick is to first search backwards and then search forward again,
+     * so that a match at the current cursor position will be correctly
+     * captured.
+     */
+    for (i = 0; i < 2; i++)
+    {
+	if (i && count == 1)
+	    flags = SEARCH_START;
+
+	if (forward)
+	    dir = i;
+	else
+	    dir = !i;
+	result = searchit(curwin, curbuf, &pos, (dir ? FORWARD : BACKWARD),
+		spats[last_idx].pat, (long) (i ? count : 1),
+		SEARCH_KEEP | flags | (dir ? 0 : SEARCH_END),
+		RE_SEARCH, 0, NULL);
+
+	/* First search may fail, but then start searching from the
+	 * beginning of the file (cursor might be on the search match)
+	 * except when Visual mode is active, so that extending the visual
+	 * selection works. */
+	if (!result && i) /* not found, abort */
+	{
+	    curwin->w_cursor = orig_pos;
+	    if (VIsual_active)
+		VIsual = save_VIsual;
+	    p_ws = old_p_ws;
+	    return FAIL;
+	}
+	else if (!i && !result && !visual_active)
+	{
+	    if (forward) /* try again from start of buffer */
+	    {
+		clearpos(&pos);
+	    }
+	    else /* try again from end of buffer */
+	    {
+		/* searching backwards, so set pos to last line and col */
+		pos.lnum = curwin->w_buffer->b_ml.ml_line_count;
+		pos.col  = STRLEN(ml_get(curwin->w_buffer->b_ml.ml_line_count));
+	    }
+	}
+
+    }
+
+    start_pos = pos;
+    flags = (forward ? SEARCH_END : 0);
+
+    /* move to match */
+    result = searchit(curwin, curbuf, &pos, (forward ? FORWARD : BACKWARD),
+	    spats[last_idx].pat, 0L, flags | SEARCH_KEEP, RE_SEARCH, 0, NULL);
+
+    if (!VIsual_active)
+	VIsual = start_pos;
+
+    p_ws = old_p_ws;
+    curwin->w_cursor = pos;
+    VIsual_active = TRUE;
+    VIsual_mode = 'v';
+
+    if (VIsual_active)
+    {
+	redraw_curbuf_later(INVERTED);	/* update the inversion */
+	if (*p_sel == 'e' && ltoreq(VIsual, curwin->w_cursor))
+	    inc_cursor();
+    }
+
+#ifdef FEAT_FOLDING
+    if (fdo_flags & FDO_SEARCH && KeyTyped)
+	foldOpenCursor();
+#endif
+
+    may_start_select('c');
+#ifdef FEAT_MOUSE
+    setmouse();
+#endif
+#ifdef FEAT_CLIPBOARD
+    /* Make sure the clipboard gets updated.  Needed because start and
+     * end are still the same, and the selection needs to be owned */
+    clip_star.vmode = NUL;
+#endif
+    redraw_curbuf_later(INVERTED);
+    showmode();
+
+    return OK;
+}
+#endif /* FEAT_VISUAL */
+
 /*
  * Find sentence(s) under the cursor, cursor at end.
  * When Visual active, extend it by one or more sentences.
@@ -3420,7 +3565,7 @@
 
 #ifdef FEAT_VISUAL
     /*
-     * When visual area is bigger than one character: Extend it.
+     * When the Visual area is bigger than one character: Extend it.
      */
     if (VIsual_active && !equalpos(start_pos, VIsual))
     {
@@ -3508,8 +3653,8 @@
 #endif
 
     /*
-     * If cursor started on blank, check if it is just before the start of the
-     * next sentence.
+     * If the cursor started on a blank, check if it is just before the start
+     * of the next sentence.
      */
     while (c = gchar_pos(&pos), vim_iswhite(c))	/* vim_iswhite() is a macro */
 	incl(&pos);
@@ -3558,7 +3703,7 @@
 #ifdef FEAT_VISUAL
     if (VIsual_active)
     {
-	/* avoid getting stuck with "is" on a single space before a sent. */
+	/* Avoid getting stuck with "is" on a single space before a sentence. */
 	if (equalpos(start_pos, curwin->w_cursor))
 	    goto extend;
 	if (*p_sel == 'e')
diff --git a/src/testdir/test53.in b/src/testdir/test53.in
index c2023e9..cc333c7 100644
--- a/src/testdir/test53.in
+++ b/src/testdir/test53.in
@@ -28,6 +28,13 @@
 :put =matchstr(\"abcd\", \".\", 0, -1) " a
 :put =match(\"abcd\", \".\", 0, 5) " -1
 :put =match(\"abcd\", \".\", 0, -1) " 0
+/^foobar
+gncsearchmatch/one\_s*two\_s
+:1
+gnd
+/[a]bcdx
+:1
+2gnd
 :/^start:/,/^end:/wq! test.out
 ENDTEST
 
@@ -45,4 +52,9 @@
 -<b>asdf<i>Xasdf</i>asdf</b>-
 -<b>asdX<i>as<b />df</i>asdf</b>-
 </begin>
+SEARCH:
+foobar
+one
+two
+abcdx | abcdx | abcdx
 end:
diff --git a/src/testdir/test53.ok b/src/testdir/test53.ok
index c371c6a..4f1e5a6 100644
--- a/src/testdir/test53.ok
+++ b/src/testdir/test53.ok
@@ -18,4 +18,7 @@
 a
 -1
 0
+SEARCH:
+searchmatch
+abcdx |  | abcdx
 end:
diff --git a/src/version.c b/src/version.c
index 397d9b0..9ce83e7 100644
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    610,
+/**/
     609,
 /**/
     608,
