diff --git a/runtime/doc/terminal.txt b/runtime/doc/terminal.txt
index 395e7d2..262b162 100644
--- a/runtime/doc/terminal.txt
+++ b/runtime/doc/terminal.txt
@@ -705,11 +705,11 @@
 Vim will start running in the program window. Put focus there and type: >
 	:help gui
 Gdb will run into the ex_help breakpoint.  The source window now shows the 
-ex_cmds.c file.  A ">>" marker will appear where the breakpoint was set.  The
-line where the debugger stopped is highlighted.  You can now step through the
-program.  Let's use the mouse: click on the "Next" button in the window
-toolbar.  You will see the highlighting move as the debugger executes a line
-of source code.
+ex_cmds.c file.  A red "1 " marker will appear in the signcolumn where the
+breakpoint was set.  The line where the debugger stopped is highlighted.  You
+can now step through the program.  Let's use the mouse: click on the "Next"
+button in the window toolbar.  You will see the highlighting move as the
+debugger executes a line of source code.
 
 Click "Next" a few times until the for loop is highlighted.  Put the cursor on
 the end of "eap->arg", then click "Eval" in the toolbar.  You will see this
@@ -788,6 +788,13 @@
 happens if the buffer in the source code window has been modified and can't be
 abandoned.
 
+Gdb gives each breakpoint a number.  In Vim the number shows up in the sign
+column, with a red background.  You can use these gdb commands:
+- info break	list breakpoints
+- delete N	delete breakpoint N
+You can also use the `:Clear` command if the cursor is in the line with the
+breakpoint, or use the "Clear breakpoint" right-click menu entry.
+
 
 Inspecting variables ~
 					*termdebug-variables* *:Evaluate*
@@ -831,6 +838,13 @@
 gdb.  The buffer name is "gdb communication".  Do not delete this buffer, it
 will break the debugger.
 
+Gdb has some weird behavior, the plugin does its best to work around that.
+For example, after typing "continue" in the gdb window a CTRL-C can be used to
+interrupt the running program.  But after using the MI command
+"-exec-continue"  pressing CTRL-C does not interrupt.  Therefore you will see
+"continue" being used for the `:Continue` command, instead of using the
+communication channel.
+
 
 Customizing ~
 
diff --git a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
index a01f3f1..f4a4dc2 100644
--- a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
+++ b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
@@ -67,7 +67,7 @@
 endif
 
 let s:pc_id = 12
-let s:break_id = 13
+let s:break_id = 13  " breakpoint number is added to this
 let s:stopped = 1
 
 if &background == 'light'
@@ -325,10 +325,6 @@
   " There can be only one.
   sign define debugPC linehl=debugPC
 
-  " Sign used to indicate a breakpoint.
-  " Can be used multiple times.
-  sign define debugBreakpoint text=>> texthl=debugBreakpoint
-
   " Install debugger commands in the text window.
   call win_gotoid(s:sourcewin)
   call s:InstallCommands()
@@ -345,6 +341,7 @@
     endif
   endif
 
+  " Contains breakpoints that have been placed, key is the number.
   let s:breakpoints = {}
 
   augroup TermDebug
@@ -813,6 +810,16 @@
   call win_gotoid(wid)
 endfunc
 
+func s:CreateBreakpoint(nr)
+  if !exists("s:BreakpointSigns")
+    let s:BreakpointSigns = []
+  endif
+  if index(s:BreakpointSigns, a:nr) == -1
+    call add(s:BreakpointSigns, a:nr)
+    exe "sign define debugBreakpoint". a:nr . " text=" . a:nr . " texthl=debugBreakpoint"
+  endif
+endfunc
+
 " Handle setting a breakpoint
 " Will update the sign that shows the breakpoint
 func s:HandleNewBreakpoint(msg)
@@ -820,6 +827,7 @@
   if nr == 0
     return
   endif
+  call s:CreateBreakpoint(nr)
 
   if has_key(s:breakpoints, nr)
     let entry = s:breakpoints[nr]
@@ -839,7 +847,7 @@
 endfunc
 
 func s:PlaceSign(nr, entry)
-  exe 'sign place ' . (s:break_id + a:nr) . ' line=' . a:entry['lnum'] . ' name=debugBreakpoint file=' . a:entry['fname']
+  exe 'sign place ' . (s:break_id + a:nr) . ' line=' . a:entry['lnum'] . ' name=debugBreakpoint' . a:nr . ' file=' . a:entry['fname']
   let a:entry['placed'] = 1
 endfunc
 
