Patch 7.1.055
[MacVim.git] / runtime / doc / usr_09.txt
blob08eaf2e3ce35066c494ebbf3e2e6faa00297ebdd
1 *usr_09.txt*    For Vim version 7.1.  Last change: 2006 Apr 24
3                      VIM USER MANUAL - by Bram Moolenaar
5                                 Using the GUI
8 Vim works in an ordinary terminal.  GVim can do the same things and a few
9 more.  The GUI offers menus, a toolbar, scrollbars and other items.  This
10 chapter is about these extra things that the GUI offers.
12 |09.1|  Parts of the GUI
13 |09.2|  Using the mouse
14 |09.3|  The clipboard
15 |09.4|  Select mode
17      Next chapter: |usr_10.txt|  Making big changes
18  Previous chapter: |usr_08.txt|  Splitting windows
19 Table of contents: |usr_toc.txt|
21 ==============================================================================
22 *09.1*  Parts of the GUI
24 You might have an icon on your desktop that starts gVim.  Otherwise, one of
25 these commands should do it: >
27         gvim file.txt
28         vim -g file.txt
30 If this doesn't work you don't have a version of Vim with GUI support.  You
31 will have to install one first.
32    Vim will open a window and display "file.txt" in it.  What the window looks
33 like depends on the version of Vim.  It should resemble the following picture
34 (for as far as this can be shown in ASCII!).
36         +----------------------------------------------------+
37         | file.txt + (~/dir) - VIM                         X |  <- window title
38         +----------------------------------------------------+
39         | File  Edit  Tools  Syntax  Buffers  Window  Help   |  <- menubar
40         +----------------------------------------------------+
41         | aaa  bbb  ccc  ddd  eee  fff  ggg  hhh  iii  jjj   |  <- toolbar
42         | aaa  bbb  ccc  ddd  eee  fff  ggg  hhh  iii  jjj   |
43         +----------------------------------------------------+
44         | file text                                      | ^ |
45         | ~                                              | # |
46         | ~                                              | # |  <- scrollbar
47         | ~                                              | # |
48         | ~                                              | # |
49         | ~                                              | # |
50         |                                                | V |
51         +----------------------------------------------------+
53 The largest space is occupied by the file text.  This shows the file in the
54 same way as in a terminal.  With some different colors and another font
55 perhaps.
58 THE WINDOW TITLE
60 At the very top is the window title.  This is drawn by your window system.
61 Vim will set the title to show the name of the current file.  First comes the
62 name of the file.  Then some special characters and the directory of the file
63 in parens.  These special character can be present:
65         -       The file cannot be modified (e.g., a help file)
66         +       The file contains changes
67         =       The file is read-only
68         =+      The file is read-only, contains changes anyway
70 If nothing is shown you have an ordinary, unchanged file.
73 THE MENUBAR
75 You know how menus work, right?  Vim has the usual items, plus a few more.
76 Browse them to get an idea of what you can use them for.  A relevant submenu
77 is Edit/Global Settings.  You will find these entries:
79         Toggle Toolbar          make the toolbar appear/disappear
80         Toggle Bottom Scrollbar make a scrollbar appear/disappear at the bottom
81         Toggle Left Scrollbar   make a scrollbar appear/disappear at the left
82         Toggle Right Scrollbar  make a scrollbar appear/disappear at the right
84 On most systems you can tear-off the menus.  Select the top item of the menu,
85 the one that looks like a dashed line.  You will get a separate window with
86 the items of the menu.  It will hang around until you close the window.
89 THE TOOLBAR
91 This contains icons for the most often used actions.  Hopefully the icons are
92 self-explanatory.  There are tooltips to get an extra hint (move the mouse
93 pointer to the icon without clicking and don't move it for a second).
95 The "Edit/Global Settings/Toggle Toolbar" menu item can be used to make the
96 toolbar disappear.  If you never want a toolbar, use this command in your
97 vimrc file: >
99         :set guioptions-=T
101 This removes the 'T' flag from the 'guioptions' option.  Other parts of the
102 GUI can also be enabled or disabled with this option.  See the help for it.
105 THE SCROLLBARS
107 By default there is one scrollbar on the right.  It does the obvious thing.
108 When you split the window, each window will get its own scrollbar.
109    You can make a horizontal scrollbar appear with the menu item
110 Edit/Global Settings/Toggle Bottom Scrollbar.  This is useful in diff mode, or
111 when the 'wrap' option has been reset (more about that later).
113 When there are vertically split windows, only the windows on the right side
114 will have a scrollbar.  However, when you move the cursor to a window on the
115 left, it will be this one the that scrollbar controls.  This takes a bit of
116 time to get used to.
117    When you work with vertically split windows, consider adding a scrollbar on
118 the left.  This can be done with a menu item, or with the 'guioptions' option:
120         :set guioptions+=l
122 This adds the 'l' flag to 'guioptions'.
124 ==============================================================================
125 *09.2*  Using the mouse
127 Standards are wonderful.  In Microsoft Windows, you can use the mouse to
128 select text in a standard manner.  The X Window system also has a standard
129 system for using the mouse.  Unfortunately, these two standards are not the
130 same.
131    Fortunately, you can customize Vim.  You can make the behavior of the mouse
132 work like an X Window system mouse or a Microsoft Windows mouse.  The following
133 command makes the mouse behave like an X Window mouse: >
135         :behave xterm
137 The following command makes the mouse work like a Microsoft Windows mouse: >
139         :behave mswin
141 The default behavior of the mouse on UNIX systems is xterm.  The default
142 behavior on a Microsoft Windows system is selected during the installation
143 process.  For details about what the two behaviors are, see |:behave|.  Here
144 follows a summary.
147 XTERM MOUSE BEHAVIOR
149 Left mouse click                position the cursor
150 Left mouse drag                 select text in Visual mode
151 Middle mouse click              paste text from the clipboard
152 Right mouse click               extend the selected text until the mouse
153                                 pointer
156 MSWIN MOUSE BEHAVIOR
158 Left mouse click                position the cursor
159 Left mouse drag                 select text in Select mode (see |09.4|)
160 Left mouse click, with Shift    extend the selected text until the mouse
161                                 pointer
162 Middle mouse click              paste text from the clipboard
163 Right mouse click               display a pop-up menu
166 The mouse can be further tuned.  Check out these options if you want to change
167 the way how the mouse works:
169         'mouse'                 in which mode the mouse is used by Vim
170         'mousemodel'            what effect a mouse click has
171         'mousetime'             time between clicks for a double-click
172         'mousehide'             hide the mouse while typing
173         'selectmode'            whether the mouse starts Visual or Select mode
175 ==============================================================================
176 *09.3*  The clipboard
178 In section |04.7| the basic use of the clipboard was explained.  There is one
179 essential thing to explain about X-windows: There are actually two places to
180 exchange text between programs.  MS-Windows doesn't have this.
182 In X-Windows there is the "current selection".  This is the text that is
183 currently highlighted.  In Vim this is the Visual area (this assumes you are
184 using the default option settings).  You can paste this selection in another
185 application without any further action.
186    For example, in this text select a few words with the mouse.  Vim will
187 switch to Visual mode and highlight the text.  Now start another gVim, without
188 a file name argument, so that it displays an empty window.  Click the middle
189 mouse button.  The selected text will be inserted.
191 The "current selection" will only remain valid until some other text is
192 selected.  After doing the paste in the other gVim, now select some characters
193 in that window.  You will notice that the words that were previously selected
194 in the other gVim window are displayed differently.  This means that it no
195 longer is the current selection.
197 You don't need to select text with the mouse, using the keyboard commands for
198 Visual mode works just as well.
201 THE REAL CLIPBOARD
203 Now for the other place with which text can be exchanged.  We call this the
204 "real clipboard", to avoid confusion.  Often both the "current selection" and
205 the "real clipboard" are called clipboard, you'll have to get used to that.
206    To put text on the real clipboard, select a few different words in one of
207 the gVims you have running.  Then use the Edit/Copy menu entry.  Now the text
208 has been copied to the real clipboard.  You can't see this, unless you have
209 some application that shows the clipboard contents (e.g., KDE's klipper).
210    Now select the other gVim, position the cursor somewhere and use the
211 Edit/Paste menu.  You will see the text from the real clipboard is inserted.
214 USING BOTH
216 This use of both the "current selection" and the "real clipboard" might sound
217 a bit confusing.  But it is very useful.  Let's show this with an example.
218 Use one gVim with a text file and perform these actions:
220 -  Select two words in Visual mode.
221 -  Use the Edit/Copy menu to get these words onto the clipboard.
222 -  Select one other word in Visual mode.
223 -  Use the Edit/Paste menu item.  What will happen is that the single selected
224    word is replaced with the two words from the clipboard.
225 -  Move the mouse pointer somewhere else and click the middle button.  You
226    will see that the word you just overwrote with the clipboard is inserted
227    here.
229 If you use the "current selection" and the "real clipboard" with care, you can
230 do a lot of useful editing with them.
233 USING THE KEYBOARD
235 If you don't like using the mouse, you can access the current selection and
236 the real clipboard with two registers.  The "* register is for the current
237 selection.
238    To make text become the current selection, use Visual mode.  For example,
239 to select a whole line just press "V".
240    To insert the current selection before the cursor: >
242         "*P
244 Notice the uppercase "P".  The lowercase "p" puts the text after the cursor.
246 The "+ register is used for the real clipboard.  For example, to copy the text
247 from the cursor position until the end of the line to the clipboard: >
249         "+y$
251 Remember, "y" is yank, which is Vim's copy command.
252    To insert the contents of the real clipboard before the cursor: >
254         "+P
256 It's the same as for the current selection, but uses the plus (+) register
257 instead of the star (*) register.
259 ==============================================================================
260 *09.4*  Select mode
262 And now something that is used more often on MS-Windows than on X-Windows.
263 But both can do it.  You already know about Visual mode.  Select mode is like
264 Visual mode, because it is also used to select text.  But there is an obvious
265 difference: When typing text, the selected text is deleted and the typed text
266 replaces it.
268 To start working with Select mode, you must first enable it (for MS-Windows
269 it is probably already enabled, but you can do this anyway): >
271         :set selectmode+=mouse
273 Now use the mouse to select some text.  It is highlighted like in Visual mode.
274 Now press a letter.  The selected text is deleted, and the single letter
275 replaces it.  You are in Insert mode now, thus you can continue typing.
277 Since typing normal text causes the selected text to be deleted, you can not
278 use the normal movement commands "hjkl", "w", etc.  Instead, use the shifted
279 function keys.  <S-Left> (shifted cursor left key) moves the cursor left.  The
280 selected text is changed like in Visual mode.  The other shifted cursor keys
281 do what you expect.  <S-End> and <S-Home> also work.
283 You can tune the way Select mode works with the 'selectmode' option.
285 ==============================================================================
287 Next chapter: |usr_10.txt|  Making big changes
289 Copyright: see |manual-copyright|  vim:tw=78:ts=8:ft=help:norl: