mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 09:26:05 +00:00 
			
		
		
		
	Permit keys in copy mode to be prefixed by a repeat count, entered with
[1-9] in vi mode, or M-[1-9] in emacs mode. From Micah Cowan, tweaked a little by me.
This commit is contained in:
		
							
								
								
									
										19
									
								
								mode-key.c
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								mode-key.c
									
									
									
									
									
								
							@@ -106,6 +106,7 @@ struct mode_key_cmdstr mode_key_cmdstr_copy[] = {
 | 
			
		||||
	{ MODEKEYCOPY_SEARCHDOWN, "search-forward" },
 | 
			
		||||
	{ MODEKEYCOPY_SEARCHREVERSE, "search-reverse" },
 | 
			
		||||
	{ MODEKEYCOPY_SEARCHUP, "search-backward" },
 | 
			
		||||
	{ MODEKEYCOPY_STARTNUMBERPREFIX, "start-number-prefix" },
 | 
			
		||||
	{ MODEKEYCOPY_STARTOFLINE, "start-of-line" },
 | 
			
		||||
	{ MODEKEYCOPY_STARTSELECTION, "begin-selection" },
 | 
			
		||||
	{ MODEKEYCOPY_TOPLINE, "top-line" },
 | 
			
		||||
@@ -178,6 +179,15 @@ const struct mode_key_entry mode_key_vi_copy[] = {
 | 
			
		||||
	{ '$',			0, MODEKEYCOPY_ENDOFLINE },
 | 
			
		||||
	{ '/',			0, MODEKEYCOPY_SEARCHDOWN },
 | 
			
		||||
	{ '0',			0, MODEKEYCOPY_STARTOFLINE },
 | 
			
		||||
	{ '1',			0, MODEKEYCOPY_STARTNUMBERPREFIX },
 | 
			
		||||
	{ '2',			0, MODEKEYCOPY_STARTNUMBERPREFIX },
 | 
			
		||||
	{ '3',			0, MODEKEYCOPY_STARTNUMBERPREFIX },
 | 
			
		||||
	{ '4',			0, MODEKEYCOPY_STARTNUMBERPREFIX },
 | 
			
		||||
	{ '5',			0, MODEKEYCOPY_STARTNUMBERPREFIX },
 | 
			
		||||
	{ '6',			0, MODEKEYCOPY_STARTNUMBERPREFIX },
 | 
			
		||||
	{ '7',			0, MODEKEYCOPY_STARTNUMBERPREFIX },
 | 
			
		||||
	{ '8',			0, MODEKEYCOPY_STARTNUMBERPREFIX },
 | 
			
		||||
	{ '9',			0, MODEKEYCOPY_STARTNUMBERPREFIX },
 | 
			
		||||
	{ ':',			0, MODEKEYCOPY_GOTOLINE },
 | 
			
		||||
	{ '?',			0, MODEKEYCOPY_SEARCHUP },
 | 
			
		||||
	{ 'B',			0, MODEKEYCOPY_PREVIOUSSPACE },
 | 
			
		||||
@@ -280,6 +290,15 @@ struct mode_key_tree mode_key_tree_emacs_choice;
 | 
			
		||||
/* emacs copy mode keys. */
 | 
			
		||||
const struct mode_key_entry mode_key_emacs_copy[] = {
 | 
			
		||||
	{ ' ',			0, MODEKEYCOPY_NEXTPAGE },
 | 
			
		||||
	{ '1' | KEYC_ESCAPE,	0, MODEKEYCOPY_STARTNUMBERPREFIX },
 | 
			
		||||
	{ '2' | KEYC_ESCAPE,	0, MODEKEYCOPY_STARTNUMBERPREFIX },
 | 
			
		||||
	{ '3' | KEYC_ESCAPE,	0, MODEKEYCOPY_STARTNUMBERPREFIX },
 | 
			
		||||
	{ '4' | KEYC_ESCAPE,	0, MODEKEYCOPY_STARTNUMBERPREFIX },
 | 
			
		||||
	{ '5' | KEYC_ESCAPE,	0, MODEKEYCOPY_STARTNUMBERPREFIX },
 | 
			
		||||
	{ '6' | KEYC_ESCAPE,	0, MODEKEYCOPY_STARTNUMBERPREFIX },
 | 
			
		||||
	{ '7' | KEYC_ESCAPE,	0, MODEKEYCOPY_STARTNUMBERPREFIX },
 | 
			
		||||
	{ '8' | KEYC_ESCAPE,	0, MODEKEYCOPY_STARTNUMBERPREFIX },
 | 
			
		||||
	{ '9' | KEYC_ESCAPE,	0, MODEKEYCOPY_STARTNUMBERPREFIX },
 | 
			
		||||
	{ '<' | KEYC_ESCAPE,    0, MODEKEYCOPY_HISTORYTOP },
 | 
			
		||||
	{ '>' | KEYC_ESCAPE,    0, MODEKEYCOPY_HISTORYBOTTOM },
 | 
			
		||||
	{ 'R' | KEYC_ESCAPE,	0, MODEKEYCOPY_TOPLINE },
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user