func (t *TextField) emacs(key ui.Key) { switch key.TrimShift() { case "^e": t.Caret[0] = len(t.Text) t.Caret[1] = len(t.Text) case "^a": t.Caret[0] = 0 t.Caret[1] = 0 case "^b": t.moveBackward(key.Shift()) case "^f": t.moveForward(key.Shift()) } }