| 
									
										
										
										
											2019-12-12 14:18:35 +01:00
										 |  |  | *scroll.txt*    For Vim version 8.2.  Last change: 2019 May 13 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		  VIM REFERENCE MANUAL    by Bram Moolenaar | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Scrolling						*scrolling* | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | These commands move the contents of the window.  If the cursor position is | 
					
						
							|  |  |  | moved off of the window, the cursor is moved onto the window (with | 
					
						
							|  |  |  | 'scrolloff' screen lines around it).  A page is the number of lines in the | 
					
						
							|  |  |  | window minus two.  The mnemonics for these commands may be a bit confusing. | 
					
						
							|  |  |  | Remember that the commands refer to moving the window (the part of the buffer | 
					
						
							|  |  |  | that you see) upwards or downwards in the buffer.  When the window moves | 
					
						
							|  |  |  | upwards in the buffer, the text in the window moves downwards on your screen. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | See section |03.7| of the user manual for an introduction. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 1. Scrolling downwards		|scroll-down| | 
					
						
							|  |  |  | 2. Scrolling upwards		|scroll-up| | 
					
						
							|  |  |  | 3. Scrolling relative to cursor	|scroll-cursor| | 
					
						
							|  |  |  | 4. Scrolling horizontally	|scroll-horizontal| | 
					
						
							|  |  |  | 5. Scrolling synchronously	|scroll-binding| | 
					
						
							|  |  |  | 6. Scrolling with a mouse wheel |scroll-mouse-wheel| | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ============================================================================== | 
					
						
							|  |  |  | 1. Scrolling downwards					*scroll-down* | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The following commands move the edit window (the part of the buffer that you | 
					
						
							|  |  |  | see) downwards (this means that more lines downwards in the text buffer can be | 
					
						
							|  |  |  | seen): | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 							*CTRL-E* | 
					
						
							|  |  |  | CTRL-E			Scroll window [count] lines downwards in the buffer. | 
					
						
							| 
									
										
										
										
											2018-04-30 22:19:58 +02:00
										 |  |  | 			The text moves upwards on the screen. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 			Mnemonic: Extra lines. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 							*CTRL-D* | 
					
						
							|  |  |  | CTRL-D			Scroll window Downwards in the buffer.  The number of | 
					
						
							|  |  |  | 			lines comes from the 'scroll' option (default: half a | 
					
						
							|  |  |  | 			screen).  If [count] given, first set 'scroll' option | 
					
						
							|  |  |  | 			to [count].  The cursor is moved the same number of | 
					
						
							|  |  |  | 			lines down in the file (if possible; when lines wrap | 
					
						
							|  |  |  | 			and when hitting the end of the file there may be a | 
					
						
							|  |  |  | 			difference).  When the cursor is on the last line of | 
					
						
							|  |  |  | 			the buffer nothing happens and a beep is produced. | 
					
						
							|  |  |  | 			See also 'startofline' option. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <S-Down>	or				*<S-Down>* *<kPageDown>* | 
					
						
							|  |  |  | <PageDown>	or				*<PageDown>* *CTRL-F* | 
					
						
							|  |  |  | CTRL-F			Scroll window [count] pages Forwards (downwards) in | 
					
						
							|  |  |  | 			the buffer.  See also 'startofline' option. | 
					
						
							| 
									
										
										
										
											2005-02-12 14:29:27 +00:00
										 |  |  | 			When there is only one window the 'window' option | 
					
						
							|  |  |  | 			might be used. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 							*z+* | 
					
						
							|  |  |  | z+			Without [count]: Redraw with the line just below the | 
					
						
							|  |  |  | 			window at the top of the window.  Put the cursor in | 
					
						
							|  |  |  | 			that line, at the first non-blank in the line. | 
					
						
							|  |  |  | 			With [count]: just like "z<CR>". | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ============================================================================== | 
					
						
							|  |  |  | 2. Scrolling upwards					*scroll-up* | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The following commands move the edit window (the part of the buffer that you | 
					
						
							|  |  |  | see) upwards (this means that more lines upwards in the text buffer can be | 
					
						
							|  |  |  | seen): | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 							*CTRL-Y* | 
					
						
							|  |  |  | CTRL-Y			Scroll window [count] lines upwards in the buffer. | 
					
						
							| 
									
										
										
										
											2018-04-30 22:19:58 +02:00
										 |  |  | 			The text moves downwards on the screen. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 			Note: When using the MS-Windows key bindings CTRL-Y is | 
					
						
							|  |  |  | 			remapped to redo. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 							*CTRL-U* | 
					
						
							|  |  |  | CTRL-U			Scroll window Upwards in the buffer.  The number of | 
					
						
							|  |  |  | 			lines comes from the 'scroll' option (default: half a | 
					
						
							|  |  |  | 			screen).  If [count] given, first set the 'scroll' | 
					
						
							|  |  |  | 			option to [count].  The cursor is moved the same | 
					
						
							|  |  |  | 			number of lines up in the file (if possible; when | 
					
						
							|  |  |  | 			lines wrap and when hitting the end of the file there | 
					
						
							|  |  |  | 			may be a difference).  When the cursor is on the first | 
					
						
							|  |  |  | 			line of the buffer nothing happens and a beep is | 
					
						
							|  |  |  | 			produced.  See also 'startofline' option. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <S-Up>		or					*<S-Up>* *<kPageUp>* | 
					
						
							|  |  |  | <PageUp>	or					*<PageUp>* *CTRL-B* | 
					
						
							|  |  |  | CTRL-B			Scroll window [count] pages Backwards (upwards) in the | 
					
						
							|  |  |  | 			buffer.  See also 'startofline' option. | 
					
						
							| 
									
										
										
										
											2005-02-12 14:29:27 +00:00
										 |  |  | 			When there is only one window the 'window' option | 
					
						
							|  |  |  | 			might be used. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 							*z^* | 
					
						
							|  |  |  | z^			Without [count]: Redraw with the line just above the | 
					
						
							|  |  |  | 			window at the bottom of the window.  Put the cursor in | 
					
						
							|  |  |  | 			that line, at the first non-blank in the line. | 
					
						
							|  |  |  | 			With [count]: First scroll the text to put the [count] | 
					
						
							|  |  |  | 			line at the bottom of the window, then redraw with the | 
					
						
							|  |  |  | 			line which is now at the top of the window at the | 
					
						
							|  |  |  | 			bottom of the window.  Put the cursor in that line, at | 
					
						
							|  |  |  | 			the first non-blank in the line. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ============================================================================== | 
					
						
							|  |  |  | 3. Scrolling relative to cursor				*scroll-cursor* | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The following commands reposition the edit window (the part of the buffer that | 
					
						
							| 
									
										
										
										
											2016-11-17 14:50:09 +01:00
										 |  |  | you see) while keeping the cursor on the same line.  Note that the 'scrolloff' | 
					
						
							|  |  |  | option may cause context lines to show above and below the cursor. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 							*z<CR>* | 
					
						
							|  |  |  | z<CR>			Redraw, line [count] at top of window (default | 
					
						
							|  |  |  | 			cursor line).  Put cursor at first non-blank in the | 
					
						
							|  |  |  | 			line. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 							*zt* | 
					
						
							|  |  |  | zt			Like "z<CR>", but leave the cursor in the same | 
					
						
							| 
									
										
										
										
											2019-05-05 18:13:34 +02:00
										 |  |  | 			column. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 							*zN<CR>* | 
					
						
							|  |  |  | z{height}<CR>		Redraw, make window {height} lines tall.  This is | 
					
						
							|  |  |  | 			useful to make the number of lines small when screen | 
					
						
							|  |  |  | 			updating is very slow.  Cannot make the height more | 
					
						
							|  |  |  | 			than the physical screen height. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 							*z.* | 
					
						
							|  |  |  | z.			Redraw, line [count] at center of window (default | 
					
						
							|  |  |  | 			cursor line).  Put cursor at first non-blank in the | 
					
						
							|  |  |  | 			line. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 							*zz* | 
					
						
							|  |  |  | zz			Like "z.", but leave the cursor in the same column. | 
					
						
							| 
									
										
										
										
											2010-05-22 15:37:44 +02:00
										 |  |  | 			Careful: If caps-lock is on, this command becomes | 
					
						
							| 
									
										
										
										
											2019-05-05 18:13:34 +02:00
										 |  |  | 			"ZZ": write buffer and exit! | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 							*z-* | 
					
						
							|  |  |  | z-			Redraw, line [count] at bottom of window (default | 
					
						
							|  |  |  | 			cursor line).  Put cursor at first non-blank in the | 
					
						
							|  |  |  | 			line. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 							*zb* | 
					
						
							|  |  |  | zb			Like "z-", but leave the cursor in the same column. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ============================================================================== | 
					
						
							|  |  |  | 4. Scrolling horizontally				*scroll-horizontal* | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | For the following four commands the cursor follows the screen.  If the | 
					
						
							|  |  |  | character that the cursor is on is moved off the screen, the cursor is moved | 
					
						
							|  |  |  | to the closest character that is on the screen.  The value of 'sidescroll' is | 
					
						
							|  |  |  | not used. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | z<Right>    or						*zl* *z<Right>* | 
					
						
							| 
									
										
										
										
											2005-12-16 21:55:46 +00:00
										 |  |  | zl			Move the view on the text [count] characters to the | 
					
						
							|  |  |  | 			right, thus scroll the text [count] characters to the | 
					
						
							| 
									
										
										
										
											2019-05-05 18:13:34 +02:00
										 |  |  | 			left.  This only works when 'wrap' is off. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | z<Left>      or						*zh* *z<Left>* | 
					
						
							| 
									
										
										
										
											2005-12-16 21:55:46 +00:00
										 |  |  | zh			Move the view on the text [count] characters to the | 
					
						
							|  |  |  | 			left, thus scroll the text [count] characters to the | 
					
						
							| 
									
										
										
										
											2019-05-05 18:13:34 +02:00
										 |  |  | 			right.  This only works when 'wrap' is off. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 							*zL* | 
					
						
							| 
									
										
										
										
											2005-12-16 21:55:46 +00:00
										 |  |  | zL			Move the view on the text half a screenwidth to the | 
					
						
							|  |  |  | 			right, thus scroll the text half a screenwidth to the | 
					
						
							| 
									
										
										
										
											2019-05-05 18:13:34 +02:00
										 |  |  | 			left.  This only works when 'wrap' is off. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 							*zH* | 
					
						
							| 
									
										
										
										
											2005-12-16 21:55:46 +00:00
										 |  |  | zH			Move the view on the text half a screenwidth to the | 
					
						
							|  |  |  | 			left, thus scroll the text half a screenwidth to the | 
					
						
							| 
									
										
										
										
											2019-05-05 18:13:34 +02:00
										 |  |  | 			right.  This only works when 'wrap' is off. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | For the following two commands the cursor is not moved in the text, only the | 
					
						
							|  |  |  | text scrolls on the screen. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 							*zs* | 
					
						
							| 
									
										
										
										
											2005-12-16 21:55:46 +00:00
										 |  |  | zs			Scroll the text horizontally to position the cursor | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 			at the start (left side) of the screen.  This only | 
					
						
							| 
									
										
										
										
											2019-05-05 18:13:34 +02:00
										 |  |  | 			works when 'wrap' is off. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 							*ze* | 
					
						
							| 
									
										
										
										
											2005-12-16 21:55:46 +00:00
										 |  |  | ze			Scroll the text horizontally to position the cursor | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 			at the end (right side) of the screen.  This only | 
					
						
							| 
									
										
										
										
											2019-05-05 18:13:34 +02:00
										 |  |  | 			works when 'wrap' is off. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | ============================================================================== | 
					
						
							|  |  |  | 5. Scrolling synchronously				*scroll-binding* | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Occasionally, it is desirable to bind two or more windows together such that | 
					
						
							| 
									
										
										
										
											2010-05-22 15:37:44 +02:00
										 |  |  | when one window is scrolled, the other windows are also scrolled.  In Vim, | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | windows can be given this behavior by setting the (window-specific) | 
					
						
							|  |  |  | 'scrollbind' option.  When a window that has 'scrollbind' set is scrolled, all | 
					
						
							|  |  |  | other 'scrollbind' windows are scrolled the same amount, if possible.  The | 
					
						
							|  |  |  | behavior of 'scrollbind' can be modified by the 'scrollopt' option. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | When using the scrollbars, the binding only happens when scrolling the window | 
					
						
							|  |  |  | with focus (where the cursor is).  You can use this to avoid scroll-binding | 
					
						
							|  |  |  | for a moment without resetting options. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | When a window also has the 'diff' option set, the scroll-binding uses the | 
					
						
							|  |  |  | differences between the two buffers to synchronize the position precisely. | 
					
						
							|  |  |  | Otherwise the following method is used. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 							*scrollbind-relative* | 
					
						
							|  |  |  | Each 'scrollbind' window keeps track of its "relative offset," which can be | 
					
						
							|  |  |  | thought of as the difference between the current window's vertical scroll | 
					
						
							|  |  |  | position and the other window's vertical scroll position.  When one of the | 
					
						
							|  |  |  | 'scrollbind' windows is asked to vertically scroll past the beginning or end | 
					
						
							|  |  |  | limit of its text, the window no longer scrolls, but remembers how far past | 
					
						
							|  |  |  | the limit it wishes to be.  The window keeps this information so that it can | 
					
						
							|  |  |  | maintain the same relative offset, regardless of its being asked to scroll | 
					
						
							|  |  |  | past its buffer's limits. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | However, if a 'scrollbind' window that has a relative offset that is past its | 
					
						
							|  |  |  | buffer's limits is given the cursor focus, the other 'scrollbind' windows must | 
					
						
							|  |  |  | jump to a location where the current window's relative offset is valid.  This | 
					
						
							| 
									
										
										
										
											2017-03-05 17:04:09 +01:00
										 |  |  | behavior can be changed by clearing the "jump" flag from the 'scrollopt' | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | option. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-05-05 18:24:42 +00:00
										 |  |  | 						*syncbind* *:syncbind* *:sync* | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | :syncbind		Force all 'scrollbind' windows to have the same | 
					
						
							|  |  |  | 			relative offset.  I.e., when any of the 'scrollbind' | 
					
						
							|  |  |  | 			windows is scrolled to the top of its buffer, all of | 
					
						
							|  |  |  | 			the 'scrollbind' windows will also be at the top of | 
					
						
							|  |  |  | 			their buffers. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 							*scrollbind-quickadj* | 
					
						
							|  |  |  | The 'scrollbind' flag is meaningful when using keyboard commands to vertically | 
					
						
							|  |  |  | scroll a window, and also meaningful when using the vertical scrollbar of the | 
					
						
							|  |  |  | window which has the cursor focus.  However, when using the vertical scrollbar | 
					
						
							|  |  |  | of a window which doesn't have the cursor focus, 'scrollbind' is ignored. | 
					
						
							|  |  |  | This allows quick adjustment of the relative offset of 'scrollbind' windows. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ============================================================================== | 
					
						
							|  |  |  | 6. Scrolling with a mouse wheel				*scroll-mouse-wheel* | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | When your mouse has a scroll wheel, it should work with Vim in the GUI.  How | 
					
						
							|  |  |  | it works depends on your system.  It might also work in an xterm | 
					
						
							| 
									
										
										
										
											2010-07-25 15:49:07 +02:00
										 |  |  | |xterm-mouse-wheel|.  By default only vertical scroll wheels are supported, | 
					
						
							|  |  |  | but some GUIs also support horizontal scroll wheels. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | For the Win32 GUI the scroll action is hard coded.  It works just like | 
					
						
							|  |  |  | dragging the scrollbar of the current window.  How many lines are scrolled | 
					
						
							|  |  |  | depends on your mouse driver.  If the scroll action causes input focus | 
					
						
							|  |  |  | problems, see |intellimouse-wheel-problems|. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | For the X11 GUIs (Motif, Athena and GTK) scrolling the wheel generates key | 
					
						
							| 
									
										
										
										
											2010-07-25 15:49:07 +02:00
										 |  |  | presses <ScrollWheelUp>, <ScrollWheelDown>, <ScrollWheelLeft> and | 
					
						
							|  |  |  | <ScrollWheelRight>.  For example, if you push the scroll wheel upwards a | 
					
						
							|  |  |  | <ScrollWheelUp> key press is generated causing the window to scroll upwards | 
					
						
							|  |  |  | (while the text is actually moving downwards).  The default action for these | 
					
						
							|  |  |  | keys are: | 
					
						
							|  |  |  |     <ScrollWheelUp>	    scroll three lines up	*<ScrollWheelUp>* | 
					
						
							|  |  |  |     <S-ScrollWheelUp>	    scroll one page up		*<S-ScrollWheelUp>* | 
					
						
							|  |  |  |     <C-ScrollWheelUp>	    scroll one page up		*<C-ScrollWheelUp>* | 
					
						
							|  |  |  |     <ScrollWheelDown>	    scroll three lines down	*<ScrollWheelDown>* | 
					
						
							|  |  |  |     <S-ScrollWheelDown>	    scroll one page down	*<S-ScrollWheelDown>* | 
					
						
							|  |  |  |     <C-ScrollWheelDown>	    scroll one page down	*<C-ScrollWheelDown>* | 
					
						
							|  |  |  |     <ScrollWheelLeft>	    scroll six columns left	*<ScrollWheelLeft>* | 
					
						
							|  |  |  |     <S-ScrollWheelLeft>	    scroll one page left	*<S-ScrollWheelLeft>* | 
					
						
							|  |  |  |     <C-ScrollWheelLeft>	    scroll one page left	*<C-ScrollWheelLeft>* | 
					
						
							|  |  |  |     <ScrollWheelRight>	    scroll six columns right	*<ScrollWheelRight>* | 
					
						
							|  |  |  |     <S-ScrollWheelRight>    scroll one page right	*<S-ScrollWheelRight>* | 
					
						
							|  |  |  |     <C-ScrollWheelRight>    scroll one page right	*<C-ScrollWheelRight>* | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | This should work in all modes, except when editing the command line. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-07-25 15:49:07 +02:00
										 |  |  | Note that horizontal scrolling only works if 'nowrap' is set.  Also, unless | 
					
						
							|  |  |  | the "h" flag in 'guioptions' is set, the cursor moves to the longest visible | 
					
						
							|  |  |  | line if the cursor line is about to be scrolled off the screen (similarly to | 
					
						
							|  |  |  | how the horizontal scrollbar works). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | You can modify the default behavior by mapping the keys.  For example, to make | 
					
						
							|  |  |  | the scroll wheel move one line or half a page in Normal mode: > | 
					
						
							|  |  |  |    :map <ScrollWheelUp> <C-Y> | 
					
						
							|  |  |  |    :map <S-ScrollWheelUp> <C-U> | 
					
						
							|  |  |  |    :map <ScrollWheelDown> <C-E> | 
					
						
							|  |  |  |    :map <S-ScrollWheelDown> <C-D> | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | You can also use Alt and Ctrl modifiers. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This only works when Vim gets the scroll wheel events, of course.  You can | 
					
						
							|  |  |  | check if this works with the "xev" program. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-15 21:13:42 +00:00
										 |  |  | When using XFree86, the /etc/XF86Config file should have the correct entry for | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | your mouse.  For FreeBSD, this entry works for a Logitech scrollmouse: > | 
					
						
							|  |  |  |     Protocol     "MouseMan" | 
					
						
							|  |  |  |     Device       "/dev/psm0" | 
					
						
							|  |  |  |     ZAxisMapping 4 5 | 
					
						
							| 
									
										
										
										
											2005-04-15 21:13:42 +00:00
										 |  |  | See the XFree86 documentation for information. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-07-25 15:49:07 +02:00
										 |  |  | 						*<MouseDown>* *<MouseUp>* | 
					
						
							|  |  |  | The keys <MouseDown> and <MouseUp> have been deprecated.  Use <ScrollWheelUp> | 
					
						
							|  |  |  | instead of <MouseDown> and use <ScrollWheelDown> instead of <MouseUp>. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 							*xterm-mouse-wheel* | 
					
						
							|  |  |  | To use the mouse wheel in a new xterm you only have to make the scroll wheel | 
					
						
							|  |  |  | work in your Xserver, as mentioned above. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | To use the mouse wheel in an older xterm you must do this: | 
					
						
							|  |  |  | 1. Make it work in your Xserver, as mentioned above. | 
					
						
							|  |  |  | 2. Add translations for the xterm, so that the xterm will pass a scroll event | 
					
						
							|  |  |  |    to Vim as an escape sequence. | 
					
						
							| 
									
										
										
										
											2010-07-25 15:49:07 +02:00
										 |  |  | 3. Add mappings in Vim, to interpret the escape sequences as <ScrollWheelDown> | 
					
						
							|  |  |  |    or <ScrollWheelUp> keys. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | You can do the translations by adding this to your ~.Xdefaults file (or other | 
					
						
							|  |  |  | file where your X resources are kept): > | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   XTerm*VT100.Translations:		#override \n\ | 
					
						
							|  |  |  | 		s<Btn4Down>: string("0x9b") string("[64~") \n\ | 
					
						
							|  |  |  | 		s<Btn5Down>: string("0x9b") string("[65~") \n\ | 
					
						
							|  |  |  | 		<Btn4Down>: string("0x9b") string("[62~") \n\ | 
					
						
							|  |  |  | 		<Btn5Down>: string("0x9b") string("[63~") \n\ | 
					
						
							|  |  |  | 		<Btn4Up>: \n\ | 
					
						
							|  |  |  | 		<Btn5Up>: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Add these mappings to your vimrc file: > | 
					
						
							| 
									
										
										
										
											2010-07-25 15:49:07 +02:00
										 |  |  | 	:map <M-Esc>[62~ <ScrollWheelUp> | 
					
						
							|  |  |  | 	:map! <M-Esc>[62~ <ScrollWheelUp> | 
					
						
							|  |  |  | 	:map <M-Esc>[63~ <ScrollWheelDown> | 
					
						
							|  |  |  | 	:map! <M-Esc>[63~ <ScrollWheelDown> | 
					
						
							|  |  |  | 	:map <M-Esc>[64~ <S-ScrollWheelUp> | 
					
						
							|  |  |  | 	:map! <M-Esc>[64~ <S-ScrollWheelUp> | 
					
						
							|  |  |  | 	:map <M-Esc>[65~ <S-ScrollWheelDown> | 
					
						
							|  |  |  | 	:map! <M-Esc>[65~ <S-ScrollWheelDown> | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | < | 
					
						
							| 
									
										
										
										
											2018-07-29 15:07:52 +02:00
										 |  |  |  vim:tw=78:ts=8:noet:ft=help:norl: |