mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 01:34:18 +00:00 
			
		
		
		
	Add space movement keys for vi mode in the status line from Ben Boeckel.
This commit is contained in:
		@@ -54,9 +54,12 @@ const struct mode_key_cmdstr mode_key_cmdstr_edit[] = {
 | 
			
		||||
	{ MODEKEYEDIT_ENTER, "enter" },
 | 
			
		||||
	{ MODEKEYEDIT_HISTORYDOWN, "history-down" },
 | 
			
		||||
	{ MODEKEYEDIT_HISTORYUP, "history-up" },
 | 
			
		||||
	{ MODEKEYEDIT_NEXTSPACE, "next-space" },
 | 
			
		||||
	{ MODEKEYEDIT_NEXTSPACEEND, "next-space-end" },
 | 
			
		||||
	{ MODEKEYEDIT_NEXTWORD, "next-word" },
 | 
			
		||||
	{ MODEKEYEDIT_NEXTWORDEND, "next-word-end" },
 | 
			
		||||
	{ MODEKEYEDIT_PASTE, "paste" },
 | 
			
		||||
	{ MODEKEYEDIT_PREVIOUSSPACE, "previous-space" },
 | 
			
		||||
	{ MODEKEYEDIT_PREVIOUSWORD, "previous-word" },
 | 
			
		||||
	{ MODEKEYEDIT_STARTOFLINE, "start-of-line" },
 | 
			
		||||
	{ MODEKEYEDIT_SWITCHMODE, "switch-mode" },
 | 
			
		||||
@@ -148,7 +151,10 @@ const struct mode_key_entry mode_key_vi_edit[] = {
 | 
			
		||||
 | 
			
		||||
	{ '$',			1, MODEKEYEDIT_ENDOFLINE },
 | 
			
		||||
	{ '0',			1, MODEKEYEDIT_STARTOFLINE },
 | 
			
		||||
	{ 'B',			1, MODEKEYEDIT_PREVIOUSSPACE },
 | 
			
		||||
	{ 'D',			1, MODEKEYEDIT_DELETETOENDOFLINE },
 | 
			
		||||
	{ 'E',			1, MODEKEYEDIT_NEXTSPACEEND },
 | 
			
		||||
	{ 'W',			1, MODEKEYEDIT_NEXTSPACE },
 | 
			
		||||
	{ 'X',			1, MODEKEYEDIT_BACKSPACE },
 | 
			
		||||
	{ '\003' /* C-c */,	1, MODEKEYEDIT_CANCEL },
 | 
			
		||||
	{ '\010' /* C-h */, 	1, MODEKEYEDIT_BACKSPACE },
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										14
									
								
								status.c
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								status.c
									
									
									
									
									
								
							@@ -978,7 +978,7 @@ status_prompt_key(struct client *c, int key)
 | 
			
		||||
	struct paste_buffer	*pb;
 | 
			
		||||
	char			*s, *first, *last, word[64], swapc;
 | 
			
		||||
	const char		*histstr;
 | 
			
		||||
	const char		*wsep;
 | 
			
		||||
	const char		*wsep = NULL;
 | 
			
		||||
	u_char			 ch;
 | 
			
		||||
	size_t			 size, n, off, idx;
 | 
			
		||||
 | 
			
		||||
@@ -1124,7 +1124,11 @@ status_prompt_key(struct client *c, int key)
 | 
			
		||||
		c->prompt_index = idx;
 | 
			
		||||
		c->flags |= CLIENT_STATUS;
 | 
			
		||||
		break;
 | 
			
		||||
	case MODEKEYEDIT_NEXTSPACE:
 | 
			
		||||
		wsep = " ";
 | 
			
		||||
		/* FALLTHROUGH */
 | 
			
		||||
	case MODEKEYEDIT_NEXTWORD:
 | 
			
		||||
		if (wsep == NULL)
 | 
			
		||||
			wsep = options_get_string(oo, "word-separators");
 | 
			
		||||
 | 
			
		||||
		/* Find a separator. */
 | 
			
		||||
@@ -1143,7 +1147,11 @@ status_prompt_key(struct client *c, int key)
 | 
			
		||||
 | 
			
		||||
		c->flags |= CLIENT_STATUS;
 | 
			
		||||
		break;
 | 
			
		||||
	case MODEKEYEDIT_NEXTSPACEEND:
 | 
			
		||||
		wsep = " ";
 | 
			
		||||
		/* FALLTHROUGH */
 | 
			
		||||
	case MODEKEYEDIT_NEXTWORDEND:
 | 
			
		||||
		if (wsep == NULL)
 | 
			
		||||
			wsep = options_get_string(oo, "word-separators");
 | 
			
		||||
 | 
			
		||||
		/* Find a word. */
 | 
			
		||||
@@ -1162,7 +1170,11 @@ status_prompt_key(struct client *c, int key)
 | 
			
		||||
 | 
			
		||||
		c->flags |= CLIENT_STATUS;
 | 
			
		||||
		break;
 | 
			
		||||
	case MODEKEYEDIT_PREVIOUSSPACE:
 | 
			
		||||
		wsep = " ";
 | 
			
		||||
		/* FALLTHROUGH */
 | 
			
		||||
	case MODEKEYEDIT_PREVIOUSWORD:
 | 
			
		||||
		if (wsep == NULL)
 | 
			
		||||
			wsep = options_get_string(oo, "word-separators");
 | 
			
		||||
 | 
			
		||||
		/* Find a non-separator. */
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								tmux.h
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								tmux.h
									
									
									
									
									
								
							@@ -447,9 +447,12 @@ enum mode_key_cmd {
 | 
			
		||||
	MODEKEYEDIT_ENTER,
 | 
			
		||||
	MODEKEYEDIT_HISTORYDOWN,
 | 
			
		||||
	MODEKEYEDIT_HISTORYUP,
 | 
			
		||||
	MODEKEYEDIT_NEXTSPACE,
 | 
			
		||||
	MODEKEYEDIT_NEXTSPACEEND,
 | 
			
		||||
	MODEKEYEDIT_NEXTWORD,
 | 
			
		||||
	MODEKEYEDIT_NEXTWORDEND,
 | 
			
		||||
	MODEKEYEDIT_PASTE,
 | 
			
		||||
	MODEKEYEDIT_PREVIOUSSPACE,
 | 
			
		||||
	MODEKEYEDIT_PREVIOUSWORD,
 | 
			
		||||
	MODEKEYEDIT_STARTOFLINE,
 | 
			
		||||
	MODEKEYEDIT_SWITCHMODE,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user