diff --git a/exec/fseditor.js b/exec/fseditor.js
index 8e10b65dc9b4acd99ce27b19402760f7ddbc0c36..8d69a76918908be3d71075ad928959abb0069ba7 100644
--- a/exec/fseditor.js
+++ b/exec/fseditor.js
@@ -1147,6 +1147,18 @@ function quote_mode()
 			case '\x12':	/* CTRL-R (Quick Redraw in SyncEdit) */
 				redraw_screen();
 				break;
+			case KEY_HOME:
+				quote_ypos=0;
+				quote_topline=0;
+				draw_quote_window();
+				break;
+			case KEY_END:
+				quote_ypos=quote_line.length-1;
+				quote_topline=quote_line.length-quote_height;
+				if(quote_topline<0)
+					quote_topline=0;
+				draw_quote_window();
+				break;
 			case KEY_DOWN:
 				quote_ypos++;
 				if(quote_ypos>=quote_line.length) {
@@ -1240,6 +1252,15 @@ function quote_mode()
 					quote_topline=0;
 				draw_quote_window();
 				break;
+			case '\x1a':	/* CTRL-Z (EOF) (PgUp in SyncEdit)  */
+				quote_ypos-=quote_height-1;
+				quote_topline-=quote_height-1;
+				if(quote_ypos<0)
+					quote_ypos=0;
+				if(quote_topline<0)
+					quote_topline=0;
+				draw_quote_window();
+				break;
 		}
 	}
 }