mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +00:00 
			
		
		
		
	Make next-word-end work properly with vi(1) keys, reported by patrick
keshishian.
This commit is contained in:
		@@ -1897,13 +1897,17 @@ window_copy_cursor_next_word_end(struct window_pane *wp, const char *separators)
 | 
				
			|||||||
	struct options			*oo = &wp->window->options;
 | 
						struct options			*oo = &wp->window->options;
 | 
				
			||||||
	struct screen			*back_s = data->backing;
 | 
						struct screen			*back_s = data->backing;
 | 
				
			||||||
	u_int				 px, py, xx, yy;
 | 
						u_int				 px, py, xx, yy;
 | 
				
			||||||
	int				 expected = 1;
 | 
						int				 keys, expected = 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	px = data->cx;
 | 
						px = data->cx;
 | 
				
			||||||
	py = screen_hsize(back_s) + data->cy - data->oy;
 | 
						py = screen_hsize(back_s) + data->cy - data->oy;
 | 
				
			||||||
	xx = window_copy_find_length(wp, py);
 | 
						xx = window_copy_find_length(wp, py);
 | 
				
			||||||
	yy = screen_hsize(back_s) + screen_size_y(back_s) - 1;
 | 
						yy = screen_hsize(back_s) + screen_size_y(back_s) - 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						keys = options_get_number(oo, "mode-keys");
 | 
				
			||||||
 | 
						if (keys == MODEKEY_VI && !window_copy_in_set(wp, px, py, separators))
 | 
				
			||||||
 | 
							px++;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/*
 | 
						/*
 | 
				
			||||||
	 * First skip past any word characters, then any nonword characters.
 | 
						 * First skip past any word characters, then any nonword characters.
 | 
				
			||||||
	 *
 | 
						 *
 | 
				
			||||||
@@ -1928,8 +1932,7 @@ window_copy_cursor_next_word_end(struct window_pane *wp, const char *separators)
 | 
				
			|||||||
		expected = !expected;
 | 
							expected = !expected;
 | 
				
			||||||
	} while (expected == 0);
 | 
						} while (expected == 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Back up to the end-of-word like vi. */
 | 
						if (keys == MODEKEY_VI && px != 0)
 | 
				
			||||||
	if (options_get_number(oo, "status-keys") == MODEKEY_VI && px != 0)
 | 
					 | 
				
			||||||
		px--;
 | 
							px--;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	window_copy_update_cursor(wp, px, data->cy);
 | 
						window_copy_update_cursor(wp, px, data->cy);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user