mirror of
https://github.com/tmate-io/tmate.git
synced 2024-12-23 23:29:15 +01:00
Add a "delete line" key when editing in the status line or the search up/down
prompt. C-u with emacs keys, d with vi.
This commit is contained in:
parent
c828c2f366
commit
feaf91ab93
@ -47,6 +47,7 @@ struct mode_key_cmdstr mode_key_cmdstr_edit[] = {
|
||||
{ MODEKEYEDIT_CURSORLEFT, "cursor-left" },
|
||||
{ MODEKEYEDIT_CURSORRIGHT, "cursor-right" },
|
||||
{ MODEKEYEDIT_DELETE, "delete" },
|
||||
{ MODEKEYEDIT_DELETELINE, "delete-line" },
|
||||
{ MODEKEYEDIT_DELETETOENDOFLINE, "delete-end-of-line" },
|
||||
{ MODEKEYEDIT_ENDOFLINE, "end-of-line" },
|
||||
{ MODEKEYEDIT_ENTER, "enter" },
|
||||
@ -109,6 +110,7 @@ const struct mode_key_entry mode_key_vi_edit[] = {
|
||||
|
||||
{ '$', 1, MODEKEYEDIT_ENDOFLINE },
|
||||
{ '0', 1, MODEKEYEDIT_STARTOFLINE },
|
||||
{ 'd', 1, MODEKEYEDIT_DELETELINE },
|
||||
{ 'D', 1, MODEKEYEDIT_DELETETOENDOFLINE },
|
||||
{ '\003' /* C-c */, 1, MODEKEYEDIT_CANCEL },
|
||||
{ '\010' /* C-h */, 1, MODEKEYEDIT_BACKSPACE },
|
||||
@ -194,10 +196,11 @@ const struct mode_key_entry mode_key_emacs_edit[] = {
|
||||
{ '\005' /* C-e */, 0, MODEKEYEDIT_ENDOFLINE },
|
||||
{ '\006' /* C-f */, 0, MODEKEYEDIT_CURSORRIGHT },
|
||||
{ '\010' /* C-H */, 0, MODEKEYEDIT_BACKSPACE },
|
||||
{ '\011' /* Tab */, 0, MODEKEYEDIT_COMPLETE },
|
||||
{ '\011' /* Tab */, 0, MODEKEYEDIT_COMPLETE },
|
||||
{ '\013' /* C-k */, 0, MODEKEYEDIT_DELETETOENDOFLINE },
|
||||
{ '\016' /* C-n */, 0, MODEKEYEDIT_HISTORYDOWN },
|
||||
{ '\020' /* C-p */, 0, MODEKEYEDIT_HISTORYUP },
|
||||
{ '\025' /* C-u */, 0, MODEKEYEDIT_DELETELINE },
|
||||
{ '\031' /* C-y */, 0, MODEKEYEDIT_PASTE },
|
||||
{ '\033' /* Escape */, 0, MODEKEYEDIT_CANCEL },
|
||||
{ '\r', 0, MODEKEYEDIT_ENTER },
|
||||
|
5
status.c
5
status.c
@ -854,6 +854,11 @@ status_prompt_key(struct client *c, int key)
|
||||
c->flags |= CLIENT_STATUS;
|
||||
}
|
||||
break;
|
||||
case MODEKEYEDIT_DELETELINE:
|
||||
*c->prompt_buffer = '\0';
|
||||
c->prompt_index = 0;
|
||||
c->flags |= CLIENT_STATUS;
|
||||
break;
|
||||
case MODEKEYEDIT_DELETETOENDOFLINE:
|
||||
if (c->prompt_index < size) {
|
||||
c->prompt_buffer[c->prompt_index] = '\0';
|
||||
|
1
tmux.1
1
tmux.1
@ -482,6 +482,7 @@ The following keys are supported as appropriate for the mode:
|
||||
.It Li "Cursor left" Ta "h" Ta "Left"
|
||||
.It Li "Cursor right" Ta "l" Ta "Right"
|
||||
.It Li "Cursor up" Ta "k" Ta "Up"
|
||||
.It Li "Delete entire line" Ta "d" Ta "C-u"
|
||||
.It Li "Delete to end of line" Ta "D" Ta "C-k"
|
||||
.It Li "End of line" Ta "$" Ta "C-e"
|
||||
.It Li "Goto line" Ta "g" Ta "g"
|
||||
|
1
tmux.h
1
tmux.h
@ -369,6 +369,7 @@ enum mode_key_cmd {
|
||||
MODEKEYEDIT_CURSORLEFT,
|
||||
MODEKEYEDIT_CURSORRIGHT,
|
||||
MODEKEYEDIT_DELETE,
|
||||
MODEKEYEDIT_DELETELINE,
|
||||
MODEKEYEDIT_DELETETOENDOFLINE,
|
||||
MODEKEYEDIT_ENDOFLINE,
|
||||
MODEKEYEDIT_ENTER,
|
||||
|
@ -365,6 +365,9 @@ window_copy_key_input(struct window_pane *wp, int key)
|
||||
if (inputlen > 0)
|
||||
data->inputstr[inputlen - 1] = '\0';
|
||||
break;
|
||||
case MODEKEYEDIT_DELETELINE:
|
||||
*data->inputstr = '\0';
|
||||
break;
|
||||
case MODEKEYEDIT_ENTER:
|
||||
switch (data->inputtype) {
|
||||
case WINDOW_COPY_OFF:
|
||||
|
Loading…
Reference in New Issue
Block a user