Rate this post
 *gui.txt* For Vim version 5.4. Last change: 1999 Jul 16 VIM REFERENCE MANUAL by Bram Moolenaar Vim's Graphical User Interface *gui* *GUI* 1. Starting the GUI |gui-start|
2. Scrollbars |gui-scrollbars|
3. Mouse Control |gui-mouse|
4. Making GUI Selections     |gui-selections|
5. Menus |menus|
6. Extras |gui-extras|
7. Shell Commands |gui-shell| Other GUI documentation:
|gui_x11.txt|        For specific items of the X11 GUI.
|gui_w32.txt|        For specific items of the Win32 GUI. {Vi does not have any of these commands} ============================================================================== 1. Starting the GUI *gui-start* First you must make sure you actually have a version of Vim with the GUI code
included. You can check this with the ":version" command, it should include
"+GUI_Athena", "+GUI_BeOS", "+GUI_GTK", "+GUI_Motif" or "MS-Windows ... bit
GUI version". How to start the GUI depends on the system used. Mostly you can can run the
GUI version of Vim with: gvim [options] [files...] The X11 version of Vim can run both in GUI and in non-GUI mode. See
|gui-x11-start|. *gui-init* *gvimrc* *.gvimrc* *_gvimrc*
When the GUI starts up initializations are carried out, in this order:
- The termcap options are reset to their default value for the GUI.
- If the system menu file exists, it is sourced. The name of this file is normally "$VIMRUNTIME/menu.vim". You can check this with ":version". Also see |$VIMRUNTIME|. To skip loading the system menu include 'M' in 'guioptions'. *buffers-menu* *no_buffers_menu* The system menu file includes a "Buffers" menu. If you don't want this, set the "no_buffers_menu" variable in your .vimrc (not .gvimrc!):
 :let no_buffers_menu = 1 NOTE: Switching on syntax highlighting also loads the menu file, thus disabling the buffer menu must be done before ":syntax on".
- If the "-U {gvimrc}" command-line option has been used when starting Vim, the {gvimrc} file will be read for initializations. The following initializations are skipped.
- For Unix, if the system gvimrc exists, it is sourced. The name of this file is normally "$VIM/gvimrc". You can check this with ":version". Also see |$VIM|.
- The following are tried, and only the first one that exists is used: - If the GVIMINIT environment variable exists and is not empty, it is executed as an Ex command. - If the user gvimrc file exists, it is sourced. The name of this file is normally "$HOME/.gvimrc". You can check this with ":version". - For Win32, when $HOME is not set, "$VIM\_gvimrc" is used. - When a "_gvimrc" file is not found, ".gvimrc" is tried too. And vice versa.
- If the 'exrc' option is set (which is NOT the default) the file ./.gvimrc is sourced, if it exists and isn't the same file as the system or user gvimrc file. If this file is not owned by you, some security restrictions apply. When ".gvimrc" is not found, "_gvimrc" is tried too. For Macintosh and DOS/Win32 "_gvimrc" is tried first. NOTE: All but the first one are not carried out if Vim was started with
"-u NONE" and no "-U" argument was given, or when started with "-U NONE". All this happens AFTER the normal Vim initializations, like reading your
.vimrc file. See |initialization|.
But the GUI window is only opened after all the initializations have been
carried out. If you want some commands to be executed just after opening the
GUI window, use the |GUIEnter| autocommand event. Example:
     autocommand GUIEnter * winpos 100 50 You can use the gvimrc files to set up your own customized menus (see |:menu|)
and initialise other things that you may want to set up differently from the
terminal version. Recommended place for your personal GUI initializations: Unix $HOME/.gvimrc OS/2 $HOME/.gvimrc or $VIM/.gvimrc MS-DOS and Win32 $HOME/_gvimrc or $VIM/_gvimrc Amiga s:.gvimrc or $VIM/.gvimrc There are a number of options which only have meaning in the GUI version of
Vim. These are 'guicursor', 'guifont', 'guipty' and 'guioptions'. They are
documented in |options.txt| with all the other options. If using the Motif or Athena version of the GUI (but not for the GTK+ or Win32
version), a number of X resources are available. See |gui-resources|. Another way to set the colors for different occasions is with highlight
groups. The "Normal" group is used to set the background and foreground
colors. Example (which looks nice):  :highlight Normal guibg=grey90 The "guibg" and "guifg" settings override the normal background and
foreground settings. The other settings for the Normal highlight group are
not used. Use the 'guifont' option to set the font. Also check out the 'guicursor' option, to set the colors for the cursor in
various modes. Vim tries to make the window fit on the screen when it starts up. This avoids
that you can't see part of it. On X windows this requires a bit of guesswork.
You can change the height that is used for the window title and a task bar
with the 'guiheadroom' option. *:winp* *:winpos*
:winp[os] Display current position of the top left corner of the GUI vim window in pixels. Does not work in all versions. :winp[os] {X} {Y} Put the GUI vim window at the given {X} and {Y} coordinates. The coordinates should specify the position in pixels of the top left corner of the window. Does not work in all versions. Does work in an (new) xterm |xterm-color|. *:win* *:winsize*
:win[size] {width} {height} Set the window height to {width} by {height} characters. Obsolete, use ":set lines=" and ":set columns=". ============================================================================== 2. Scrollbars *gui-scrollbars* There are vertical scrollbars and a horizontal scrollbars. You may
configure which ones appear with the 'guioptions' option. The interface looks like this (with ":set guioptions=mlrb"): +------------------------------+ | File Edit Help |  |-+ File.c 5,2 +-| between Vim windows |^|""""""""""""""""""""""""""|^| | | | | | | Another file buffer. | | | | | | |#| |#| Left scrollbar (l) -> |#| |#| | |