Index: src/wp-includes/class-wp-editor.php
===================================================================
--- src/wp-includes/class-wp-editor.php	(revision 31643)
+++ src/wp-includes/class-wp-editor.php	(working copy)
@@ -364,6 +364,7 @@
 						'wplink',
 						'wpdialogs',
 						'wpview',
+						'wptextpattern'
 					);
 
 					if ( ! self::$has_medialib ) {
Index: src/wp-includes/js/tinymce/plugins/wptextpattern/plugin.js
===================================================================
--- src/wp-includes/js/tinymce/plugins/wptextpattern/plugin.js	(revision 0)
+++ src/wp-includes/js/tinymce/plugins/wptextpattern/plugin.js	(working copy)
@@ -0,0 +1,64 @@
+( function( tinymce ) {
+	tinymce.PluginManager.add( 'wptextpattern', function( editor ) {
+		var patterns = [];
+
+		function add( regExp, callback ) {
+			patterns.push( {
+				regExp: regExp,
+				callback: callback
+			} );
+		}
+
+		add( /^[*-]\s/, function() {
+			this.execCommand( 'InsertUnorderedList' );
+		} );
+
+		add( /^1[.)]\s/, function() {
+			this.execCommand( 'InsertOrderedList' );
+		} );
+
+		add( /^>\s/, function() {
+			this.execCommand( 'mceBlockQuote' );
+		} );
+
+		editor.on( 'keyup', function( event ) {
+			var node;
+
+			if ( event.keyCode !== tinymce.util.VK.SPACEBAR ) {
+				return;
+			}
+
+			node = editor.selection.getRng().startContainer;
+
+			if ( node.nodeType !== 3 ) {
+				return;
+			}
+
+			tinymce.each( patterns, function( pattern ) {
+				var text = node.nodeValue,
+					replace;
+
+				if ( node.parentNode.firstChild !== node ) {
+					return;
+				}
+
+				replace = text.replace( pattern.regExp, '' );
+
+				if ( text === replace ) {
+					return;
+				}
+
+				editor.undoManager.transact( function() {
+					node.parentNode.replaceChild(
+						replace ? document.createTextNode( replace ) : document.createElement( 'BR' ),
+						node
+					);
+
+					pattern.callback.apply( editor );
+				} );
+
+				return false;
+			} );
+		} );
+	} );
+} )( window.tinymce );
