| 
									
										
										
										
											2018-05-17 17:04:55 +02:00
										 |  |  | *gui_w32.txt*   For Vim version 8.1.  Last change: 2017 Oct 27 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		  VIM REFERENCE MANUAL    by Bram Moolenaar | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Vim's Win32 Graphical User Interface			*gui-w32* *win32-gui* | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 1. Starting the GUI		|gui-w32-start| | 
					
						
							|  |  |  | 2. Vim as default editor	|vim-default-editor| | 
					
						
							|  |  |  | 3. Using the clipboard		|gui-clipboard| | 
					
						
							|  |  |  | 4. Shell Commands		|gui-shell-win32| | 
					
						
							|  |  |  | 5. Special colors		|win32-colors| | 
					
						
							|  |  |  | 6. Windows dialogs & browsers	|gui-w32-dialogs| | 
					
						
							|  |  |  | 7. Command line arguments	|gui-w32-cmdargs| | 
					
						
							|  |  |  | 8. Various			|gui-w32-various| | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Other relevant documentation: | 
					
						
							|  |  |  | |gui.txt|	For generic items of the GUI. | 
					
						
							| 
									
										
										
										
											2013-02-06 17:34:04 +01:00
										 |  |  | |os_win32.txt| 	For Win32 specific items. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | {Vi does not have a Windows GUI} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ============================================================================== | 
					
						
							|  |  |  | 1. Starting the GUI					*gui-w32-start* | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The Win32 GUI version of Vim will always start the GUI, no matter how you | 
					
						
							|  |  |  | start it or what it's called. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The GUI will always run in the Windows subsystem.  Mostly shells automatically | 
					
						
							|  |  |  | return with a command prompt after starting gvim.  If not, you should use the | 
					
						
							|  |  |  | "start" command: > | 
					
						
							|  |  |  | 	start gvim [options] file .. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Note: All fonts (bold, italic) must be of the same size!!!  If you don't do | 
					
						
							|  |  |  | this, text will disappear or mess up the display.  Vim does not check the font | 
					
						
							|  |  |  | sizes.  It's the size in screen pixels that must be the same.  Note that some | 
					
						
							|  |  |  | fonts that have the same point size don't have the same pixel size! | 
					
						
							|  |  |  | Additionally, the positioning of the fonts must be the same (ascent and | 
					
						
							|  |  |  | descent). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The Win32 GUI has an extra menu item:  "Edit/Select Font".  It brings up the | 
					
						
							|  |  |  | standard Windows font selector. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Setting the menu height doesn't work for the Win32 GUI. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 							*gui-win32-maximized* | 
					
						
							|  |  |  | If you want Vim to start with a maximized window, add this command to your | 
					
						
							|  |  |  | vimrc or gvimrc file: > | 
					
						
							|  |  |  | 	au GUIEnter * simalt ~x | 
					
						
							|  |  |  | < | 
					
						
							| 
									
										
										
										
											2007-08-30 10:26:19 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | Using Vim as a plugin					*gui-w32-windowid* | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | When gvim starts up normally, it creates its own top level window.  If you | 
					
						
							|  |  |  | pass Vim the command-line option |--windowid| with a decimal or hexadecimal | 
					
						
							|  |  |  | value, Vim will create a window that is a child of the window with the given | 
					
						
							|  |  |  | ID.  This enables Vim to act as a plugin in another application.  This really | 
					
						
							|  |  |  | is a programmer's interface, and is of no use without a supporting application | 
					
						
							|  |  |  | to spawn Vim correctly. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | ============================================================================== | 
					
						
							|  |  |  | 2. Vim as default editor				*vim-default-editor* | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | To set Vim as the default editor for a file type: | 
					
						
							|  |  |  | 1. Start a Windows Explorer | 
					
						
							| 
									
										
										
										
											2005-04-15 21:00:38 +00:00
										 |  |  | 2. Choose View/Options -> File Types | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 3. Select the path to gvim for every file type that you want to use it for. | 
					
						
							|  |  |  |    (you can also use three spaces in the file type field, for files without an | 
					
						
							|  |  |  |    extension). | 
					
						
							|  |  |  |    In the "open" action, use: > | 
					
						
							|  |  |  | 	gvim "%1" | 
					
						
							|  |  |  | <  The quotes are required for using file names with embedded spaces. | 
					
						
							|  |  |  |    You can also use this: > | 
					
						
							|  |  |  | 	gvim "%L" | 
					
						
							|  |  |  | <  This should avoid short (8.3 character) file names in some situations.  But | 
					
						
							|  |  |  |    I'm not sure if this works everywhere. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | When you open a file in Vim by double clicking it, Vim changes to that | 
					
						
							|  |  |  | file's directory. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | If you want Vim to start full-screen, use this for the Open action: > | 
					
						
							|  |  |  | 	gvim -c "simalt ~x" "%1" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Another method, which also works when you put Vim in another directory (e.g., | 
					
						
							|  |  |  | when you have got a new version): | 
					
						
							|  |  |  | 1. select a file you want to use Vim with | 
					
						
							|  |  |  | 2. <Shift-F10> | 
					
						
							|  |  |  | 3. select "Open With..." menu entry | 
					
						
							|  |  |  | 4. click "Other..." | 
					
						
							|  |  |  | 5. browse to the (new) location of Vim and click "Open" | 
					
						
							|  |  |  | 6. make "Always Use this program..." checked | 
					
						
							|  |  |  | 7. <OK> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 						*send-to-menu* *sendto* | 
					
						
							|  |  |  | You can also install Vim in the "Send To" menu: | 
					
						
							|  |  |  | 1. Start a Windows Explorer | 
					
						
							|  |  |  | 2. Navigate to your sendto directory: | 
					
						
							|  |  |  |    Windows NT: %windir%\profiles\%user%\sendto (e.g. | 
					
						
							| 
									
										
										
										
											2016-10-12 14:20:24 +02:00
										 |  |  | 	       "c:\winnt\profiles\mattha\sendto") | 
					
						
							|  |  |  |    Windows XP: C:\Documents and Settings\%user%\SendTo | 
					
						
							|  |  |  |    Windows Vista: C:\Users\%user%\AppData\Roaming\Microsoft\Windows\SendTo . | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 3. Right-click in the file pane and select New->Shortcut | 
					
						
							|  |  |  | 4. Follow the shortcut wizard, using the full path to VIM/GVIM. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | When you 'send a file to Vim', Vim changes to that file's directory.  Note, | 
					
						
							|  |  |  | however, that any long directory names will appear in their short (MS-DOS) | 
					
						
							|  |  |  | form.  This is a limitation of the Windows "Send To" mechanism. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 						*notepad* | 
					
						
							|  |  |  | You could replace notepad.exe with gvim.exe, but that has a few side effects. | 
					
						
							|  |  |  | Some programs rely on notepad arguments, which are not recognized by Vim.  For | 
					
						
							|  |  |  | example "notepad -p" is used by some applications to print a file.  It's | 
					
						
							|  |  |  | better to leave notepad where it is and use another way to start Vim. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 						*win32-popup-menu* | 
					
						
							|  |  |  | A more drastic approach is to install an "Edit with Vim" entry in the popup | 
					
						
							|  |  |  | menu for the right mouse button.  With this you can edit any file with Vim. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This can co-exist with the file associations mentioned above.  The difference | 
					
						
							|  |  |  | is that the file associations will make starting Vim the default action.  With | 
					
						
							|  |  |  | the "Edit with Vim" menu entry you can keep the existing file association for | 
					
						
							|  |  |  | double clicking on the file, and edit the file with Vim when you want.  For | 
					
						
							|  |  |  | example, you can associate "*.mak" with your make program.  You can execute | 
					
						
							|  |  |  | the makefile by double clicking it and use the "Edit with Vim" entry to edit | 
					
						
							|  |  |  | the makefile. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | You can select any files and right-click to see a menu option called "Edit | 
					
						
							| 
									
										
										
										
											2008-07-13 17:41:49 +00:00
										 |  |  | with gvim".  Choosing this menu option will invoke gvim with the file you have | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | selected.  If you select multiple files, you will find two gvim-related menu | 
					
						
							|  |  |  | options: | 
					
						
							|  |  |  | "Edit with multiple gvims"  -- one gvim for each file in the selection | 
					
						
							|  |  |  | "Edit with single gvim"     -- one gvim for all the files in the selection | 
					
						
							|  |  |  | And if there already is a gvim running: | 
					
						
							|  |  |  | "Edit with existing gvim"   -- edit the file with the running gvim | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-09-14 17:55:08 +02:00
										 |  |  | The "edit with existing Vim" entries can be disabled by adding an entry in the | 
					
						
							|  |  |  | registry under HKLM\Software\Vim\Gvim, named DisableEditWithExisting, and with | 
					
						
							|  |  |  | any value. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 						*install-registry* | 
					
						
							|  |  |  | You can add the "Edit with Vim" menu entry in an easy way by using the | 
					
						
							|  |  |  | "install.exe" program.  It will add several registry entries for you. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | You can also do this by hand.  This is complicated!  Use the install.exe if | 
					
						
							|  |  |  | you can. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 1. Start the registry editor with "regedit". | 
					
						
							|  |  |  | 2. Add these keys: | 
					
						
							|  |  |  |    key		value name		    value ~ | 
					
						
							|  |  |  |    HKEY_CLASSES_ROOT\CLSID\{51EEE242-AD87-11d3-9C1E-0090278BBD99} | 
					
						
							|  |  |  | 		{default}		    Vim Shell Extension | 
					
						
							|  |  |  |    HKEY_CLASSES_ROOT\CLSID\{51EEE242-AD87-11d3-9C1E-0090278BBD99}\InProcServer32 | 
					
						
							|  |  |  | 		{default}		    {path}\gvimext.dll | 
					
						
							|  |  |  | 		ThreadingModel		    Apartment | 
					
						
							|  |  |  |    HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\gvim | 
					
						
							|  |  |  | 		{default}		    {51EEE242-AD87-11d3-9C1E-0090278BBD99} | 
					
						
							|  |  |  |    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved | 
					
						
							|  |  |  | 		{51EEE242-AD87-11d3-9C1E-0090278BBD99} | 
					
						
							|  |  |  | 					    Vim Shell Extension | 
					
						
							|  |  |  |    HKEY_LOCAL_MACHINE\Software\Vim\Gvim | 
					
						
							|  |  |  | 		path			    {path}\gvim.exe | 
					
						
							|  |  |  |    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\vim 5.6 | 
					
						
							|  |  |  | 		DisplayName		    Vim 5.6: Edit with Vim popup menu entry | 
					
						
							|  |  |  | 		UninstallString		    {path}\uninstal.exe | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    Replace {path} with the path that leads to the executable. | 
					
						
							|  |  |  |    Don't type {default}, this is the value for the key itself. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | To remove "Edit with Vim" from the popup menu, just remove the registry | 
					
						
							|  |  |  | entries mentioned above.  The "uninstal.exe" program can do this for you.  You | 
					
						
							|  |  |  | can also use the entry in the Windows standard "Add/Remove Programs" list. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | If you notice that this entry overrules other file type associations, set | 
					
						
							|  |  |  | those associations again by hand (using Windows Explorer, see above).  This | 
					
						
							|  |  |  | only seems to happen on some Windows NT versions (Windows bug?).  Procedure: | 
					
						
							|  |  |  | 1. Find the name of the file type.  This can be done by starting the registry | 
					
						
							|  |  |  |    editor, and searching for the extension in \\HKEY_CLASSES_ROOT | 
					
						
							|  |  |  | 2. In a Windows Explorer, use View/Options/File Types.  Search for the file | 
					
						
							|  |  |  |    type in the list and click "Edit".  In the actions list, you can select on | 
					
						
							|  |  |  |    to be used as the default (normally the "open" action) and click on the | 
					
						
							|  |  |  |    "Set Default" button. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Vim in the "Open With..." context menu			*win32-open-with-menu* | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | If you use the Vim install program you have the choice to add Vim to the "Open | 
					
						
							|  |  |  | With..." menu.  This means you can use Vim to edit many files.  Not every file | 
					
						
							|  |  |  | (for unclear reasons...), thus the "Edit with Vim" menu entry is still useful. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | One reason to add this is to be able to edit HTML files directly from Internet | 
					
						
							|  |  |  | Explorer.  To enable this use the "Tools" menu, "Internet Options..." entry. | 
					
						
							|  |  |  | In the dialog select the "Programs" tab and select Vim in the "HTML editor" | 
					
						
							|  |  |  | choice.  If it's not there than installing didn't work properly. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Doing this manually can be done with this script: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ---------------------------------------------------------- | 
					
						
							|  |  |  | REGEDIT4 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [HKEY_CLASSES_ROOT\Applications\gvim.exe] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [HKEY_CLASSES_ROOT\Applications\gvim.exe\shell] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [HKEY_CLASSES_ROOT\Applications\gvim.exe\shell\edit] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [HKEY_CLASSES_ROOT\Applications\gvim.exe\shell\edit\command] | 
					
						
							|  |  |  | @="c:\\vim\\vim62\\gvim.exe \"%1\"" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [HKEY_CLASSES_ROOT\.htm\OpenWithList\gvim.exe] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [HKEY_CLASSES_ROOT\*\OpenWithList\gvim.exe] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ---------------------------------------------------------- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Change the "c:\\vim\\vim62" bit to where gvim.exe is actually located. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | To uninstall this run the Vim uninstall program or manually delete the | 
					
						
							|  |  |  | registry entries with "regedit". | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ============================================================================== | 
					
						
							|  |  |  | 3. Using the clipboard					*gui-clipboard* | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Windows has a clipboard, where you can copy text to, and paste text from.  Vim | 
					
						
							|  |  |  | supports this in several ways.  For other systems see |gui-selections|. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The "* register reflects the contents of the clipboard.  |quotestar| | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | When the "unnamed" string is included in the 'clipboard' option, the unnamed | 
					
						
							|  |  |  | register is the same.  Thus you can yank to and paste from the clipboard | 
					
						
							|  |  |  | without prepending "* to commands. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The 'a' flag in 'guioptions' is not included by default.  This means that text | 
					
						
							|  |  |  | is only put on the clipboard when an operation is performed on it.  Just | 
					
						
							|  |  |  | Visually selecting text doesn't put it on the clipboard.  When the 'a' flag is | 
					
						
							|  |  |  | included, the text is copied to the clipboard even when it is not operated | 
					
						
							|  |  |  | upon. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 							*mswin.vim* | 
					
						
							|  |  |  | To use the standard MS-Windows way of CTRL-X, CTRL-C and CTRL-V, use the | 
					
						
							|  |  |  | $VIMRUNTIME/mswin.vim script.  You could add this line to your _vimrc file: > | 
					
						
							|  |  |  | 	source $VIMRUNTIME/mswin.vim | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Since CTRL-C is used to copy the text to the clipboard, it can't be used to | 
					
						
							|  |  |  | cancel an operation.  Use CTRL-Break for that. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-05-05 17:54:07 +00:00
										 |  |  | CTRL-Z is used for undo.  This means you can't suspend Vim with this key, use | 
					
						
							|  |  |  | |:suspend| instead (if it's supported at all). | 
					
						
							| 
									
										
										
										
											2005-01-07 21:45:22 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-02-22 08:39:57 +00:00
										 |  |  | 						*CTRL-V-alternative* *CTRL-Q* | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | Since CTRL-V is used to paste, you can't use it to start a blockwise Visual | 
					
						
							|  |  |  | selection.  You can use CTRL-Q instead.  You can also use CTRL-Q in Insert | 
					
						
							|  |  |  | mode and Command-line mode to get the old meaning of CTRL-V.  But CTRL-Q | 
					
						
							|  |  |  | doesn't work for terminals when it's used for control flow. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | NOTE: The clipboard support still has a number of bugs.  See |todo|. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ============================================================================== | 
					
						
							|  |  |  | 4. Shell Commands					*gui-shell-win32* | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Vim uses another window for external commands, to make it possible to run any | 
					
						
							|  |  |  | command.  The external command gets its own environment for running, just like | 
					
						
							|  |  |  | it was started from a DOS prompt. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 							*win32-vimrun* | 
					
						
							|  |  |  | Executing an external command is done indirectly by the "vimrun" command.  The | 
					
						
							|  |  |  | "vimrun.exe" must be in the path for this to work.  Or it must be in the same | 
					
						
							|  |  |  | directory as the Vim executable.  If "vimrun" cannot be found, the command is | 
					
						
							|  |  |  | executed directly, but then the DOS window closes immediately after the | 
					
						
							|  |  |  | external command has finished. | 
					
						
							|  |  |  | WARNING: If you close this window with the "X" button, and confirm the | 
					
						
							|  |  |  | question if you really want to kill the application, Vim may be killed too! | 
					
						
							|  |  |  | (This does not apply to commands run asynchronously with ":!start".) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-12 14:20:24 +02:00
										 |  |  | The window in which the commands are executed will be the default you have set | 
					
						
							|  |  |  | up for "Console" in Control Panel. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 							*win32-!start* | 
					
						
							|  |  |  | Normally, Vim waits for a command to complete before continuing (this makes | 
					
						
							|  |  |  | sense for most shell commands which produce output for Vim to use).  If you | 
					
						
							|  |  |  | want Vim to start a program and return immediately, you can use the following | 
					
						
							| 
									
										
										
										
											2016-10-12 14:20:24 +02:00
										 |  |  | syntax: > | 
					
						
							| 
									
										
										
										
											2011-01-08 16:06:37 +01:00
										 |  |  | 	:!start [/min] {command} | 
					
						
							|  |  |  | The optional "/min" causes the window to be minimized. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | ============================================================================== | 
					
						
							|  |  |  | 5. Special colors					*win32-colors* | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | On Win32, the normal DOS colors can be used.  See |dos-colors|. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Additionally the system configured colors can also be used.  These are known | 
					
						
							|  |  |  | by the names Sys_XXX, where XXX is the appropriate system color name, from the | 
					
						
							|  |  |  | following list (see the Win32 documentation for full descriptions).  Case is | 
					
						
							| 
									
										
										
										
											2016-10-12 14:20:24 +02:00
										 |  |  | ignored. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | Sys_3DDKShadow		Sys_3DFace			Sys_BTNFace | 
					
						
							|  |  |  | Sys_3DHilight		Sys_3DHighlight			Sys_BTNHilight | 
					
						
							|  |  |  | Sys_BTNHighlight	Sys_3DLight			Sys_3DShadow | 
					
						
							|  |  |  | Sys_BTNShadow		Sys_ActiveBorder		Sys_ActiveCaption | 
					
						
							|  |  |  | Sys_AppWorkspace	Sys_Background			Sys_Desktop | 
					
						
							|  |  |  | Sys_BTNText		Sys_CaptionText			Sys_GrayText | 
					
						
							|  |  |  | Sys_Highlight		Sys_HighlightText		Sys_InactiveBorder | 
					
						
							|  |  |  | Sys_InactiveCaption	Sys_InactiveCaptionText		Sys_InfoBK | 
					
						
							|  |  |  | Sys_InfoText		Sys_Menu			Sys_MenuText | 
					
						
							|  |  |  | Sys_ScrollBar		Sys_Window			Sys_WindowFrame | 
					
						
							|  |  |  | Sys_WindowText | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Probably the most useful values are | 
					
						
							|  |  |  | 	Sys_Window	    Normal window background | 
					
						
							|  |  |  | 	Sys_WindowText      Normal window text | 
					
						
							|  |  |  | 	Sys_Highlight       Highlighted background | 
					
						
							|  |  |  | 	Sys_HighlightText   Highlighted text | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | These extra colors are also available: | 
					
						
							|  |  |  | Gray, Grey, LightYellow, SeaGreen, Orange, Purple, SlateBlue, Violet, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 								*rgb.txt* | 
					
						
							|  |  |  | Additionally, colors defined by a "rgb.txt" file can be used.  This file is | 
					
						
							|  |  |  | well known from X11.  A few lines from it: > | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   255 218 185		   peach puff | 
					
						
							|  |  |  |   205 133  63		   peru | 
					
						
							|  |  |  |   255 181 197		   pink | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This shows the layout of the file:  First the R, G and B value as a decimal | 
					
						
							|  |  |  | number, followed by the name of the color.  The four fields are separated by | 
					
						
							|  |  |  | spaces. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | You can get an rgb.txt file from any X11 distribution.  It is located in a | 
					
						
							|  |  |  | directory like "/usr/X11R6/lib/X11/".  For Vim it must be located in the | 
					
						
							|  |  |  | $VIMRUNTIME directory.  Thus the file can be found with "$VIMRUNTIME/rgb.txt". | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ============================================================================== | 
					
						
							|  |  |  | 						*gui-w32-dialogs* *dialog* | 
					
						
							|  |  |  | 6. Windows dialogs & browsers | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The Win32 GUI can use familiar Windows components for some operations, as well | 
					
						
							|  |  |  | as the traditional interface shared with the console version. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 6.1 Dialogs | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The dialogs displayed by the "confirm" family (i.e. the 'confirm' option, | 
					
						
							|  |  |  | |:confirm| command and |confirm()| function) are GUI-based rather than the | 
					
						
							|  |  |  | console-based ones used by other versions.  The 'c' flag in 'guioptions' | 
					
						
							|  |  |  | changes this. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 6.2 File Browsers | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | When prepending ":browse" before file editing commands, a file requester is | 
					
						
							|  |  |  | used to allow you to select an existing file.  See |:browse|. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 6.3 Tearoff Menus | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The Win32 GUI emulates Motif's tear-off menus.  At the top of each menu you | 
					
						
							|  |  |  | will see a small graphic "rip here" sign.  Selecting it will cause a floating | 
					
						
							|  |  |  | window to be created with the same menu entries on it.  The floating menu can | 
					
						
							|  |  |  | then be accessed just as if it was the original (including sub-menus), but | 
					
						
							|  |  |  | without having to go to the menu bar each time. | 
					
						
							|  |  |  | This is most useful if you find yourself using a command buried in a sub-menu | 
					
						
							|  |  |  | over and over again. | 
					
						
							|  |  |  | The tearoff menus can be positioned where you like, and always stay just above | 
					
						
							| 
									
										
										
										
											2005-04-15 21:00:38 +00:00
										 |  |  | the Main Vim window.  You can get rid of them by closing them as usual; they | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | also of course close when you exit Vim. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 							*:tearoff* *:te* | 
					
						
							|  |  |  | :te[aroff] {name}	Tear-off the menu {name}.  The menu named must have at | 
					
						
							|  |  |  | 			least one subentry, but need not appear on the | 
					
						
							|  |  |  | 			menu-bar (see |win32-hidden-menus|). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Example: > | 
					
						
							|  |  |  | 	:tearoff File | 
					
						
							|  |  |  | will make the "File" menu (if there is one) appear as a tearoff menu. > | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	:amenu ]Toolbar.Make	:make<CR> | 
					
						
							|  |  |  | 	:tearoff ]Toolbar | 
					
						
							|  |  |  | This creates a floating menu that doesn't exist on the main menu-bar. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Note that a menu that starts with ']' will not be displayed. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ============================================================================== | 
					
						
							|  |  |  | 7. Command line arguments				*gui-w32-cmdargs* | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-02 22:58:42 +01:00
										 |  |  | Command line arguments behave the same way as with the console application, | 
					
						
							|  |  |  | see |win32-cmdargs|. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | ============================================================================== | 
					
						
							|  |  |  | 8. Various						*gui-w32-various* | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 							*gui-w32-printing* | 
					
						
							|  |  |  | The "File/Print" menu prints the text with syntax highlighting, see | 
					
						
							|  |  |  | |:hardcopy|.  If you just want to print the raw text and have a default | 
					
						
							|  |  |  | printer installed this should also work: > | 
					
						
							|  |  |  | 	:w >>prn | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-15 21:00:38 +00:00
										 |  |  | Vim supports a number of standard MS Windows features.  Some of these are | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | detailed elsewhere: see |'mouse'|, |win32-hidden-menus|. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 							*drag-n-drop-win32* | 
					
						
							|  |  |  | You can drag and drop one or more files into the Vim window, where they will | 
					
						
							|  |  |  | be opened as normal.  See |drag-n-drop|. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-01-07 16:57:10 +01:00
										 |  |  | 							*:simalt* *:sim* | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | :sim[alt] {key}		simulate pressing {key} while holding Alt pressed. | 
					
						
							|  |  |  | 			{not in Vi} {only for Win32 versions} | 
					
						
							| 
									
										
										
										
											2015-01-07 16:57:10 +01:00
										 |  |  | 			Note: ":si" means ":s" with the "i" flag. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | Normally, Vim takes control of all Alt-<Key> combinations, to increase the | 
					
						
							| 
									
										
										
										
											2005-04-15 21:00:38 +00:00
										 |  |  | number of possible mappings.  This clashes with the standard use of Alt as the | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | key for accessing menus. | 
					
						
							|  |  |  | The quick way of getting standard behavior is to set the 'winaltkeys' option | 
					
						
							|  |  |  | to "yes".  This however prevents you from mapping Alt keys at all. | 
					
						
							|  |  |  | Another way is to set 'winaltkeys' to "menu".  Menu shortcut keys are then | 
					
						
							|  |  |  | handled by windows, other ALT keys can be mapped.  This doesn't allow a | 
					
						
							|  |  |  | dependency on the current state though. | 
					
						
							|  |  |  | To get round this, the :simalt command allows Vim (when 'winaltkeys' is not | 
					
						
							| 
									
										
										
										
											2005-04-15 21:00:38 +00:00
										 |  |  | "yes") to fake a Windows-style Alt keypress.  You can use this to map Alt key | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | combinations (or anything else for that matter) to produce standard Windows | 
					
						
							| 
									
										
										
										
											2005-04-15 21:00:38 +00:00
										 |  |  | actions.  Here are some examples: > | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	:map <M-f> :simalt f<CR> | 
					
						
							|  |  |  | This makes Alt-F pop down the 'File' menu (with the stock Menu.vim) by | 
					
						
							|  |  |  | simulating the keystrokes Alt, F. > | 
					
						
							|  |  |  | 	:map <M-Space> :simalt ~<CR> | 
					
						
							| 
									
										
										
										
											2005-04-15 21:00:38 +00:00
										 |  |  | This maps Alt-Space to pop down the system menu for the Vim window.  Note that | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | ~ is used by simalt to represent the <Space> character. > | 
					
						
							|  |  |  | 	:map <C-n> :simalt ~n<CR> | 
					
						
							| 
									
										
										
										
											2005-04-15 21:00:38 +00:00
										 |  |  | Maps Control-N to produce the keys Alt-Space followed by N.  This minimizes the | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | Vim window via the system menu. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-05-05 17:54:07 +00:00
										 |  |  | Note that the key changes depending on the language you are using. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 						*intellimouse-wheel-problems* | 
					
						
							|  |  |  | When using the Intellimouse mouse wheel causes Vim to stop accepting input, go | 
					
						
							|  |  |  | to: | 
					
						
							|  |  |  | 	ControlPanel - Mouse - Wheel - UniversalScrolling - Exceptions | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | And add gvim to the list of applications.  This problem only appears to happen | 
					
						
							|  |  |  | with the Intellimouse driver 2.2 and when "Universal Scrolling" is turned on. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-08-15 17:43:31 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | XPM support						*w32-xpm-support* | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-15 20:20:18 +02:00
										 |  |  | GVim can be build on MS-Windows with support for XPM files.  |+xpm_w32| | 
					
						
							| 
									
										
										
										
											2012-08-15 17:43:31 +02:00
										 |  |  | See the Make_mvc.mak file for instructions, search for XPM. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | To try out if XPM support works do this: > | 
					
						
							|  |  |  | 	:help | 
					
						
							|  |  |  | 	:exe 'sign define vimxpm icon=' . $VIMRUNTIME . '\\vim16x16.xpm' | 
					
						
							|  |  |  | 	:exe 'sign place 1 line=1 name=vimxpm file=' . expand('%:p') | 
					
						
							|  |  |  | < | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-29 15:07:52 +02:00
										 |  |  |  vim:tw=78:sw=4:ts=8:noet:ft=help:norl: |