acme: copy/cut/paste with ctl+c,x,v

LGTM=rsc
R=rsc
CC=plan9port.codebot
https://codereview.appspot.com/69070045
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index e3a9ff7..1391ea8 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -21,6 +21,7 @@
 Enrique Soriano <enrique.soriano@gmail.com>
 Eoghan Sherry <ejsherry@gmail.com>
 Erik Quanstrom <quanstro@quanstro.net>
+Ethan Burns <burns.ethan@gmail.com>
 Fazlul Shahriar <fshahriar@gmail.com>
 Ingo Dreilich <yngoto@gmail.com>
 Justin Davis <jrcd83@gmail.com>
diff --git a/src/cmd/acme/text.c b/src/cmd/acme/text.c
index 5a491b1..c055c5e 100644
--- a/src/cmd/acme/text.c
+++ b/src/cmd/acme/text.c
@@ -745,10 +745,12 @@
 			q0++;
 		textshow(t, q0, q0, TRUE);
 		return;
+	case 3:		/* ^C: copy */
 	case Kcmd+'c':	/* %C: copy */
 		typecommit(t);
 		cut(t, t, nil, TRUE, FALSE, nil, 0);
 		return;
+	case 0x1a:	/* ^Z: undo */
 	case Kcmd+'z':	/* %Z: undo */
 	 	typecommit(t);
 		undo(t, nil, nil, TRUE, 0, nil, 0);
@@ -777,6 +779,7 @@
 	}
 	/* cut/paste must be done after the seq++/filemark */
 	switch(r){
+	case 0x18:	/* ^X: cut */
 	case Kcmd+'x':	/* %X: cut */
 		typecommit(t);
 		if(t->what == Body){
@@ -787,6 +790,7 @@
 		textshow(t, t->q0, t->q0, 1);
 		t->iq1 = t->q0;
 		return;
+	case 0x16:	/* ^V: paste */
 	case Kcmd+'v':	/* %V: paste */
 		typecommit(t);
 		if(t->what == Body){