annotate runtime/doc/intro.txt @ 24594:5c456a88f651 v8.2.2836

patch 8.2.2836: build failure without the +quickfix feature Commit: https://github.com/vim/vim/commit/b7c978154e0816f4dcfae8a06b4ba1bfb7f796f6 Author: Bram Moolenaar <Bram@vim.org> Date: Wed May 5 22:51:39 2021 +0200 patch 8.2.2836: build failure without the +quickfix feature Problem: Build failure without the +quickfix feature. (John Marriott) Solution: Add #ifdef.
author Bram Moolenaar <Bram@vim.org>
date Wed, 05 May 2021 23:00:03 +0200
parents 15fa3923cc49
children 9c221ad9634a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
23466
15fa3923cc49 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 23305
diff changeset
1 *intro.txt* For Vim version 8.2. Last change: 2020 Dec 29
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
3
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
4 VIM REFERENCE MANUAL by Bram Moolenaar
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
5
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7 Introduction to Vim *ref* *reference*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9 1. Introduction |intro|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10 2. Vim on the internet |internet|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11 3. Credits |credits|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12 4. Notation |notation|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13 5. Modes, introduction |vim-modes-intro|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14 6. Switching from mode to mode |mode-switching|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15 7. The window contents |window-contents|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16 8. Definitions |definitions|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19 1. Introduction *intro*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21 Vim stands for Vi IMproved. It used to be Vi IMitation, but there are so many
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22 improvements that a name change was appropriate. Vim is a text editor which
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23 includes almost all the commands from the Unix program "Vi" and a lot of new
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 ones. It is very useful for editing programs and other plain text.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25 All commands are given with the keyboard. This has the advantage that you
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26 can keep your fingers on the keyboard and your eyes on the screen. For those
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27 who want it, there is mouse support and a GUI version with scrollbars and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28 menus (see |gui.txt|).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30 An overview of this manual can be found in the file "help.txt", |help.txt|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
31 It can be accessed from within Vim with the <Help> or <F1> key and with the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
32 |:help| command (just type ":help", without the bars or quotes).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
33 The 'helpfile' option can be set to the name of the help file, in case it
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34 is not located in the default place. You can jump to subjects like with tags:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
35 Use CTRL-] to jump to a subject under the cursor, use CTRL-T to jump back.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
36
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 15512
diff changeset
37 The differences between Vi and Vim are mentioned in |vi_diff.txt|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
38
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
39 This manual refers to Vim on various machines. There may be small differences
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
40 between different computers and terminals. Besides the remarks given in this
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
41 document, there is a separate document for each supported system, see
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
42 |sys-file-list|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43
2033
de5a43c5eedc Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents: 1702
diff changeset
44 *pronounce*
de5a43c5eedc Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents: 1702
diff changeset
45 Vim is pronounced as one word, like Jim, not vi-ai-em. It's written with a
de5a43c5eedc Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents: 1702
diff changeset
46 capital, since it's a name, again like Jim.
de5a43c5eedc Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents: 1702
diff changeset
47
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
48 This manual is a reference for all the Vim commands and options. This is not
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
49 an introduction to the use of Vi or Vim, it gets a bit complicated here and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
50 there. For beginners, there is a hands-on |tutor|. To learn using Vim, read
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
51 the user manual |usr_toc.txt|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
52
15334
9d3d7b0f4861 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14519
diff changeset
53 *book* *books*
9d3d7b0f4861 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14519
diff changeset
54 Most books on Vi and Vim contain a section for beginners. Others are spending
9d3d7b0f4861 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14519
diff changeset
55 more words on specific functionality. You can find an overview of Vim books
9d3d7b0f4861 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14519
diff changeset
56 here:
9d3d7b0f4861 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14519
diff changeset
57 http://iccf-holland.org/vim_books.html
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
58
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
59 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
60 2. Vim on the internet *internet*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
61
838
8e5830943bff updated for version 7.0e04
vimboss
parents: 834
diff changeset
62 *www* *WWW* *faq* *FAQ* *distribution* *download*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
63 The Vim pages contain the most recent information about Vim. They also
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
64 contain links to the most recent version of Vim. The FAQ is a list of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
65 Frequently Asked Questions. Read this if you have problems.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
66
15334
9d3d7b0f4861 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14519
diff changeset
67 Vim home page: https://www.vim.org/
17161
9ccb1ea9b2fc Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 16610
diff changeset
68 Vim FAQ: https://vimhelp.org/vim_faq.txt.html
15334
9d3d7b0f4861 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14519
diff changeset
69 Downloading: https://www.vim.org/download.php
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
70
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
71
17261
432714f5c0f7 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 17161
diff changeset
72 Asking questions, finding answers: https://vi.stackexchange.com/
432714f5c0f7 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 17161
diff changeset
73 "Vi and Vim Stack Exchange is a question and answer site for people using the
432714f5c0f7 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 17161
diff changeset
74 vi and Vim families of text editors"
432714f5c0f7 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 17161
diff changeset
75
432714f5c0f7 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 17161
diff changeset
76
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
77 Usenet News group where Vim is discussed: *news* *usenet*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
78 comp.editors
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
79 This group is also for other editors. If you write about Vim, don't forget to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
80 mention that.
17261
432714f5c0f7 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 17161
diff changeset
81 You can access it here:
432714f5c0f7 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 17161
diff changeset
82 https://groups.google.com/forum/#!topic/comp.editors
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
83
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
84 *mail-list* *maillist*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
85 There are several mailing lists for Vim:
10548
74effdaa369e Updated runtime files.
Christian Brabandt <cb@256bit.org>
parents: 10228
diff changeset
86 <vim@vim.org> *vim-use* *vim_use*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
87 For discussions about using existing versions of Vim: Useful mappings,
824
8dd456c1e283 updated for version 7.0c13
vimboss
parents: 810
diff changeset
88 questions, answers, where to get a specific version, etc. There are
8dd456c1e283 updated for version 7.0c13
vimboss
parents: 810
diff changeset
89 quite a few people watching this list and answering questions, also
8dd456c1e283 updated for version 7.0c13
vimboss
parents: 810
diff changeset
90 for beginners. Don't hesitate to ask your question here.
10548
74effdaa369e Updated runtime files.
Christian Brabandt <cb@256bit.org>
parents: 10228
diff changeset
91 <vim-dev@vim.org> *vim-dev* *vim_dev* *vimdev*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
92 For discussions about changing Vim: New features, porting, patches,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
93 beta-test versions, etc.
10548
74effdaa369e Updated runtime files.
Christian Brabandt <cb@256bit.org>
parents: 10228
diff changeset
94 <vim-announce@vim.org> *vim-announce* *vim_announce*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
95 Announcements about new versions of Vim; also for beta-test versions
824
8dd456c1e283 updated for version 7.0c13
vimboss
parents: 810
diff changeset
96 and ports to different systems. This is a read-only list.
10548
74effdaa369e Updated runtime files.
Christian Brabandt <cb@256bit.org>
parents: 10228
diff changeset
97 <vim-mac@vim.org> *vim-mac* *vim_mac*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
98 For discussions about using and improving the Macintosh version of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
99 Vim.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
100
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
101 See http://www.vim.org/maillist.php for the latest information.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
102
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
103 NOTE:
15334
9d3d7b0f4861 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14519
diff changeset
104 - Anyone can see the archive, e.g. on Google groups. Search this if you have
9d3d7b0f4861 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14519
diff changeset
105 questions.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
106 - You can only send messages to these lists if you have subscribed!
15334
9d3d7b0f4861 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14519
diff changeset
107 - The first message is moderated, thus it may take a few hours to show up.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
108 - You need to send the messages from the same location as where you subscribed
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
109 from (to avoid spam mail).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
110
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
111 *subscribe-maillist*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
112 If you want to join, send a message to
1624
18ee39301b82 updated for version 7.2a
vimboss
parents: 1272
diff changeset
113 <vim-subscribe@vim.org>
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
114 Make sure that your "From:" address is correct. Then the list server will
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
115 give you help on how to subscribe.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
116
1624
18ee39301b82 updated for version 7.2a
vimboss
parents: 1272
diff changeset
117 *maillist-archive*
18ee39301b82 updated for version 7.2a
vimboss
parents: 1272
diff changeset
118 For more information and archives look on the Vim maillist page:
18ee39301b82 updated for version 7.2a
vimboss
parents: 1272
diff changeset
119 http://www.vim.org/maillist.php
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
120
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
121
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
122 Bug reports: *bugs* *bug-reports* *bugreport.vim*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
123
20753
661eb972cb22 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18879
diff changeset
124 There are three ways to report bugs:
661eb972cb22 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18879
diff changeset
125 1. Open an issue on GitHub: https://github.com/vim/vim/issues
661eb972cb22 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18879
diff changeset
126 The text will be forwarded to the vim-dev maillist.
661eb972cb22 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18879
diff changeset
127 2. For issues with runtime files, look in the header for an email address or
661eb972cb22 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18879
diff changeset
128 any other way to report it to the maintainer.
661eb972cb22 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18879
diff changeset
129 3. Send bug reports to: Vim Developers <vim-dev@vim.org>
10228
8a1481e59d64 commit https://github.com/vim/vim/commit/3e496b0ea31996b665824f45664dee1fdd73c4d0
Christian Brabandt <cb@256bit.org>
parents: 10198
diff changeset
130 This is a maillist, you need to become a member first and many people will
8a1481e59d64 commit https://github.com/vim/vim/commit/3e496b0ea31996b665824f45664dee1fdd73c4d0
Christian Brabandt <cb@256bit.org>
parents: 10198
diff changeset
131 see the message. If you don't want that, e.g. because it is a security
8a1481e59d64 commit https://github.com/vim/vim/commit/3e496b0ea31996b665824f45664dee1fdd73c4d0
Christian Brabandt <cb@256bit.org>
parents: 10198
diff changeset
132 issue, send it to <bugs@vim.org>, this only goes to the Vim maintainer
8a1481e59d64 commit https://github.com/vim/vim/commit/3e496b0ea31996b665824f45664dee1fdd73c4d0
Christian Brabandt <cb@256bit.org>
parents: 10198
diff changeset
133 (that's Bram).
5968
92751673cc37 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5294
diff changeset
134
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
135 Please be brief; all the time that is spent on answering mail is subtracted
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
136 from the time that is spent on improving Vim! Always give a reproducible
11763
21f3930dfe6e Documentation updates.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
137 example and try to find out which settings or other things trigger the bug.
21f3930dfe6e Documentation updates.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
138
21f3930dfe6e Documentation updates.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
139 Preferably start Vim with: >
21f3930dfe6e Documentation updates.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
140 vim --clean -u reproduce.vim
21f3930dfe6e Documentation updates.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
141 Where reproduce.vim is a script that reproduces the problem. Try different
21f3930dfe6e Documentation updates.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
142 machines, if relevant (is this an MS-Windows specific bug perhaps?).
21f3930dfe6e Documentation updates.
Christian Brabandt <cb@256bit.org>
parents: 11473
diff changeset
143
15334
9d3d7b0f4861 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14519
diff changeset
144 Send me patches if you can! If you create a pull request on
9d3d7b0f4861 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14519
diff changeset
145 https://github.com/vim/vim then the automated checks will run and report any
9d3d7b0f4861 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14519
diff changeset
146 obvious problems. But you can also send the patch by email (use an attachment
9d3d7b0f4861 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14519
diff changeset
147 to avoid white space changes).
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
148
502
52e76e2b5b65 updated for version 7.0140
vimboss
parents: 323
diff changeset
149 It will help to include information about the version of Vim you are using and
52e76e2b5b65 updated for version 7.0140
vimboss
parents: 323
diff changeset
150 your setup. You can get the information with this command: >
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
151 :so $VIMRUNTIME/bugreport.vim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
152 This will create a file "bugreport.txt" in the current directory, with a lot
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
153 of information of your environment. Before sending this out, check if it
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
154 doesn't contain any confidential information!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
155
502
52e76e2b5b65 updated for version 7.0140
vimboss
parents: 323
diff changeset
156 If Vim crashes, please try to find out where. You can find help on this here:
52e76e2b5b65 updated for version 7.0140
vimboss
parents: 323
diff changeset
157 |debug.txt|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
158
502
52e76e2b5b65 updated for version 7.0140
vimboss
parents: 323
diff changeset
159 In case of doubt or when you wonder if the problem has already been fixed but
52e76e2b5b65 updated for version 7.0140
vimboss
parents: 323
diff changeset
160 you can't find a fix for it, become a member of the vim-dev maillist and ask
52e76e2b5b65 updated for version 7.0140
vimboss
parents: 323
diff changeset
161 your question there. |maillist|
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
162
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
163 *year-2000* *Y2K*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
164 Since Vim internally doesn't use dates for editing, there is no year 2000
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
165 problem to worry about. Vim does use the time in the form of seconds since
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
166 January 1st 1970. It is used for a time-stamp check of the edited file and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
167 the swap file, which is not critical and should only cause warning messages.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
168
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
169 There might be a year 2038 problem, when the seconds don't fit in a 32 bit int
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
170 anymore. This depends on the compiler, libraries and operating system.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
171 Specifically, time_t and the ctime() function are used. And the time_t is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
172 stored in four bytes in the swap file. But that's only used for printing a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
173 file date/time for recovery, it will never affect normal editing.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
174
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
175 The Vim strftime() function directly uses the strftime() system function.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
176 localtime() uses the time() system function. getftime() uses the time
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
177 returned by the stat() system function. If your system libraries are year
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
178 2000 compliant, Vim is too.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
179
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
180 The user may create scripts for Vim that use external commands. These might
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
181 introduce Y2K problems, but those are not really part of Vim itself.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
182
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
183 ==============================================================================
323
03b3684919e3 updated for version 7.0084
vimboss
parents: 237
diff changeset
184 3. Credits *credits* *author* *Bram* *Moolenaar*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
185
15334
9d3d7b0f4861 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14519
diff changeset
186 Most of Vim was created by Bram Moolenaar <Bram@vim.org>.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
187
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
188 Parts of the documentation come from several Vi manuals, written by:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
189 W.N. Joy
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
190 Alan P.W. Hewett
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
191 Mark Horton
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
192
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
193 The Vim editor is based on Stevie and includes (ideas from) other software,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
194 worked on by the people mentioned here. Other people helped by sending me
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
195 patches, suggestions and giving feedback about what is good and bad in Vim.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
196
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
197 Vim would never have become what it is now, without the help of these people!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
198
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
199 Ron Aaron Win32 GUI changes
2246
1e48f569b03d Move text from various.txt to a new helphelp.txt help file.
Bram Moolenaar <bram@vim.org>
parents: 2154
diff changeset
200 Mohsin Ahmed encryption
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
201 Zoltan Arpadffy work on VMS port
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
202 Tony Andrews Stevie
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
203 Gert van Antwerpen changes for DJGPP on MS-DOS
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
204 Berkeley DB(3) ideas for swap file implementation
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
205 Keith Bostic Nvi
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
206 Walter Briscoe Makefile updates, various patches
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
207 Ralf Brown SPAWNO library for MS-DOS
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
208 Robert Colon many useful remarks
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
209 Marcin Dalecki GTK+ GUI port, toolbar icons, gettext()
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
210 Kayhan Demirel sent me news in Uganda
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
211 Chris & John Downey xvi (ideas for multi-windows version)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
212 Henk Elbers first VMS port
29
ac33b7c03fac updated for version 7.0018
vimboss
parents: 7
diff changeset
213 Daniel Elstner GTK+ 2 port
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
214 Eric Fischer Mac port, 'cindent', and other improvements
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
215 Benji Fisher Answering lots of user questions
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
216 Bill Foster Athena GUI port
1624
18ee39301b82 updated for version 7.2a
vimboss
parents: 1272
diff changeset
217 Google Lets me work on Vim one day a week
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
218 Loic Grenie xvim (ideas for multi windows version)
1668
0b796e045c42 updated for version 7.2b-000
vimboss
parents: 1624
diff changeset
219 Sven Guckes Vim promoter and previous WWW page maintainer
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
220 Darren Hiebert Exuberant ctags
29
ac33b7c03fac updated for version 7.0018
vimboss
parents: 7
diff changeset
221 Jason Hildebrand GTK+ 2 port
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
222 Bruce Hunsaker improvements for VMS port
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
223 Andy Kahn Cscope support, GTK+ GUI port
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
224 Oezguer Kesim Maintainer of Vim Mailing Lists
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
225 Axel Kielhorn work on the Macintosh port
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
226 Steve Kirkendall Elvis
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
227 Roger Knobbe original port to Windows NT
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
228 Sergey Laskavy Vim's help from Moscow
1624
18ee39301b82 updated for version 7.2a
vimboss
parents: 1272
diff changeset
229 Felix von Leitner Previous maintainer of Vim Mailing Lists
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
230 David Leonard Port of Python extensions to Unix
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
231 Avner Lottem Edit in right-to-left windows
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
232 Flemming Madsen X11 client-server, various features and patches
2246
1e48f569b03d Move text from various.txt to a new helphelp.txt help file.
Bram Moolenaar <bram@vim.org>
parents: 2154
diff changeset
233 Tony Mechelynck answers many user questions
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
234 Paul Moore Python interface extensions, many patches
21991
bbca88cd13d5 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 20753
diff changeset
235 Katsuhito Nagano Work on multibyte versions
bbca88cd13d5 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 20753
diff changeset
236 Sung-Hyun Nam Work on multibyte versions
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
237 Vince Negri Win32 GUI and generic console enhancements
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
238 Steve Oualline Author of the first Vim book |frombook|
18615
c4cdc715cb68 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 17758
diff changeset
239 Dominique Pelle Valgrind reports and many fixes
1624
18ee39301b82 updated for version 7.2a
vimboss
parents: 1272
diff changeset
240 A.Politz Many bug reports and some fixes
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
241 George V. Reilly Win32 port, Win32 GUI start-off
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
242 Stephen Riehm bug collector
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
243 Stefan Roemer various patches and help to users
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
244 Ralf Schandl IBM OS/390 port
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
245 Olaf Seibert DICE and BeBox version, regexp improvements
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
246 Mortaza Shiran Farsi patches
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
247 Peter da Silva termlib
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
248 Paul Slootman OS/2 port
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
249 Henry Spencer regular expressions
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
250 Dany St-Amant Macintosh port
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
251 Tim Thompson Stevie
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
252 G. R. (Fred) Walter Stevie
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
253 Sven Verdoolaege Perl interface
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
254 Robert Webb Command-line completion, GUI versions, and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
255 lots of patches
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
256 Ingo Wilken Tcl interface
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
257 Mike Williams PostScript printing
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
258 Juergen Weigert Lattice version, AUX improvements, UNIX and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
259 MS-DOS ports, autoconf
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
260 Stefan 'Sec' Zehl Maintainer of vim.org
12499
d91cf2e26ef0 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 12254
diff changeset
261 Yasuhiro Matsumoto many MS-Windows improvements
d91cf2e26ef0 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 12254
diff changeset
262 Ken Takata fixes and features
d91cf2e26ef0 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 12254
diff changeset
263 Kazunobu Kuriyama GTK 3
d91cf2e26ef0 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 12254
diff changeset
264 Christian Brabandt many fixes, features, user support, etc.
15334
9d3d7b0f4861 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14519
diff changeset
265 Yegappan Lakshmanan many quickfix features
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
266
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
267 I wish to thank all the people that sent me bug reports and suggestions. The
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
268 list is too long to mention them all here. Vim would not be the same without
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
269 the ideas from all these people: They keep Vim alive!
4992
ceb5f21cda79 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4119
diff changeset
270 *love* *peace* *friendship* *gross-national-happiness*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
271
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
272
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
273 In this documentation there are several references to other versions of Vi:
39
410fa1a31baf updated for version 7.0023
vimboss
parents: 36
diff changeset
274 *Vi* *vi*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
275 Vi "the original". Without further remarks this is the version
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
276 of Vi that appeared in Sun OS 4.x. ":version" returns
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
277 "Version 3.7, 6/7/85". Sometimes other versions are referred
15512
f0f06837a699 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 15334
diff changeset
278 to. Only runs under Unix. Source code is now available under a
f0f06837a699 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 15334
diff changeset
279 BSD-style license. More information on Vi can be found through:
f0f06837a699 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 15334
diff changeset
280 http://ex-vi.sourceforge.net/
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
281 *Posix*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
282 Posix From the IEEE standard 1003.2, Part 2: Shell and utilities.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
283 Generally known as "Posix". This is a textual description of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
284 how Vi is supposed to work.
161
6df0106fc595 updated for version 7.0049
vimboss
parents: 39
diff changeset
285 See |posix-compliance|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
286 *Nvi*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
287 Nvi The "New" Vi. The version of Vi that comes with BSD 4.4 and FreeBSD.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
288 Very good compatibility with the original Vi, with a few extensions.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
289 The version used is 1.79. ":version" returns "Version 1.79
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
290 (10/23/96)". There has been no release the last few years, although
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
291 there is a development version 1.81.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
292 Source code is freely available.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
293 *Elvis*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
294 Elvis Another Vi clone, made by Steve Kirkendall. Very compact but isn't
15512
f0f06837a699 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 15334
diff changeset
295 as flexible as Vim. Development has stalled, Elvis has left the
f0f06837a699 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 15334
diff changeset
296 building! Source code is freely available.
f0f06837a699 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 15334
diff changeset
297 *Neovim*
f0f06837a699 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 15334
diff changeset
298 Neovim A Vim clone. Forked the Vim source in 2014 and went a different way.
15334
9d3d7b0f4861 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14519
diff changeset
299 Very much bound to github and has many more dependencies, making
9d3d7b0f4861 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14519
diff changeset
300 development more complex and limiting portability. Code has been
9d3d7b0f4861 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14519
diff changeset
301 refactored, resulting in patches not being exchangeable with Vim.
9d3d7b0f4861 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14519
diff changeset
302 Supports a remote GUI and integration with scripting languages.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
303
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
304 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
305 4. Notation *notation*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
306
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
307 When syntax highlighting is used to read this, text that is not typed
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
308 literally is often highlighted with the Special group. These are items in [],
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
309 {} and <>, and CTRL-X.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
310
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
311 Note that Vim uses all possible characters in commands. Sometimes the [], {}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
312 and <> are part of what you type, the context should make this clear.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
313
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
314
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
315 [] Characters in square brackets are optional.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
316
2596
fae782ef63dd Runtime file updates.
Bram Moolenaar <bram@vim.org>
parents: 2577
diff changeset
317 *count* *[count]*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
318 [count] An optional number that may precede the command to multiply
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
319 or iterate the command. If no number is given, a count of one
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
320 is used, unless otherwise noted. Note that in this manual the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
321 [count] is not mentioned in the description of the command,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
322 but only in the explanation. This was done to make the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
323 commands easier to look up. If the 'showcmd' option is on,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
324 the (partially) entered count is shown at the bottom of the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
325 window. You can use <Del> to erase the last digit (|N<Del>|).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
326
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
327 *[quotex]*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
328 ["x] An optional register designation where text can be stored.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
329 See |registers|. The x is a single character between 'a' and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
330 'z' or 'A' and 'Z' or '"', and in some cases (with the put
237
73354c21f1e4 updated for version 7.0066
vimboss
parents: 161
diff changeset
331 command) between '0' and '9', '%', '#', or others. The
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
332 uppercase and lowercase letter designate the same register,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
333 but the lowercase letter is used to overwrite the previous
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
334 register contents, while the uppercase letter is used to
237
73354c21f1e4 updated for version 7.0066
vimboss
parents: 161
diff changeset
335 append to the previous register contents. Without the ""x" or
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
336 with """" the stored text is put into the unnamed register.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
337
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
338 *{}*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
339 {} Curly braces denote parts of the command which must appear,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
340 but which can take a number of different values. The
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
341 differences between Vim and Vi are also given in curly braces
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
342 (this will be clear from the context).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
343
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
344 *{char1-char2}*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
345 {char1-char2} A single character from the range char1 to char2. For
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
346 example: {a-z} is a lowercase letter. Multiple ranges may be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
347 concatenated. For example, {a-zA-Z0-9} is any alphanumeric
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
348 character.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
349
36
125e80798a85 updated for version 7.0021
vimboss
parents: 29
diff changeset
350 *{motion}* *movement*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
351 {motion} A command that moves the cursor. These are explained in
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
352 |motion.txt|. Examples:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
353 w to start of next word
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
354 b to begin of current word
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
355 4j four lines down
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
356 /The<CR> to next occurrence of "The"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
357 This is used after an |operator| command to move over the text
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
358 that is to be operated upon.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
359 - If the motion includes a count and the operator also has a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
360 count, the two counts are multiplied. For example: "2d3w"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
361 deletes six words.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
362 - The motion can be backwards, e.g. "db" to delete to the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
363 start of the word.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
364 - The motion can also be a mouse click. The mouse is not
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
365 supported in every terminal though.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
366 - The ":omap" command can be used to map characters while an
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
367 operator is pending.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
368 - Ex commands can be used to move the cursor. This can be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
369 used to call a function that does some complicated motion.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
370 The motion is always characterwise exclusive, no matter
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
371 what ":" command is used. This means it's impossible to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
372 include the last character of a line without the line break
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
373 (unless 'virtualedit' is set).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
374 If the Ex command changes the text before where the operator
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
375 starts or jumps to another buffer the result is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
376 unpredictable. It is possible to change the text further
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
377 down. Jumping to another buffer is possible if the current
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
378 buffer is not unloaded.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
379
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
380 *{Visual}*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
381 {Visual} A selected text area. It is started with the "v", "V", or
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
382 CTRL-V command, then any cursor movement command can be used
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
383 to change the end of the selected text.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
384 This is used before an |operator| command to highlight the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
385 text that is to be operated upon.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
386 See |Visual-mode|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
387
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
388 *<character>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
389 <character> A special character from the table below, optionally with
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
390 modifiers, or a single ASCII character with modifiers.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
391
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
392 *'character'*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
393 'c' A single ASCII character.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
394
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
395 *CTRL-{char}*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
396 CTRL-{char} {char} typed as a control character; that is, typing {char}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
397 while holding the CTRL key down. The case of {char} does not
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
398 matter; thus CTRL-A and CTRL-a are equivalent. But on some
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
399 terminals, using the SHIFT key will produce another code,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
400 don't use it then.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
401
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
402 *'option'*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
403 'option' An option, or parameter, that can be set to a value, is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
404 enclosed in single quotes. See |options|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
405
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
406 *quotecommandquote*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
407 "command" A reference to a command that you can type is enclosed in
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
408 double quotes.
4119
61bcafd8c648 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 3830
diff changeset
409 `command` New style command, this distinguishes it from other quoted
61bcafd8c648 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 3830
diff changeset
410 text and strings.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
411
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
412 *key-notation* *key-codes* *keycodes*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
413 These names for keys are used in the documentation. They can also be used
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
414 with the ":map" command (insert the key name by pressing CTRL-K and then the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
415 key you want the name for).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
416
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
417 notation meaning equivalent decimal value(s) ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
418 -----------------------------------------------------------------------
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
419 <Nul> zero CTRL-@ 0 (stored as 10) *<Nul>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
420 <BS> backspace CTRL-H 8 *backspace*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
421 <Tab> tab CTRL-I 9 *tab* *Tab*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
422 *linefeed*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
423 <NL> linefeed CTRL-J 10 (used for <Nul>)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
424 <FF> formfeed CTRL-L 12 *formfeed*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
425 <CR> carriage return CTRL-M 13 *carriage-return*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
426 <Return> same as <CR> *<Return>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
427 <Enter> same as <CR> *<Enter>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
428 <Esc> escape CTRL-[ 27 *escape* *<Esc>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
429 <Space> space 32 *space*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
430 <lt> less-than < 60 *<lt>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
431 <Bslash> backslash \ 92 *backslash* *<Bslash>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
432 <Bar> vertical bar | 124 *<Bar>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
433 <Del> delete 127
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
434 <CSI> command sequence intro ALT-Esc 155 *<CSI>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
435 <xCSI> CSI when typed in the GUI *<xCSI>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
436
23305
fab58304f77d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 21991
diff changeset
437 <EOL> end-of-line (can be <CR>, <NL> or <CR><NL>,
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
438 depends on system and 'fileformat') *<EOL>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
439
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
440 <Up> cursor-up *cursor-up* *cursor_up*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
441 <Down> cursor-down *cursor-down* *cursor_down*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
442 <Left> cursor-left *cursor-left* *cursor_left*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
443 <Right> cursor-right *cursor-right* *cursor_right*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
444 <S-Up> shift-cursor-up
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
445 <S-Down> shift-cursor-down
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
446 <S-Left> shift-cursor-left
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
447 <S-Right> shift-cursor-right
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
448 <C-Left> control-cursor-left
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
449 <C-Right> control-cursor-right
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
450 <F1> - <F12> function keys 1 to 12 *function_key* *function-key*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
451 <S-F1> - <S-F12> shift-function keys 1 to 12 *<S-F1>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
452 <Help> help key
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
453 <Undo> undo key
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
454 <Insert> insert key
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
455 <Home> home *home*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
456 <End> end *end*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
457 <PageUp> page-up *page_up* *page-up*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
458 <PageDown> page-down *page_down* *page-down*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
459 <kHome> keypad home (upper left) *keypad-home*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
460 <kEnd> keypad end (lower left) *keypad-end*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
461 <kPageUp> keypad page-up (upper right) *keypad-page-up*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
462 <kPageDown> keypad page-down (lower right) *keypad-page-down*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
463 <kPlus> keypad + *keypad-plus*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
464 <kMinus> keypad - *keypad-minus*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
465 <kMultiply> keypad * *keypad-multiply*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
466 <kDivide> keypad / *keypad-divide*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
467 <kEnter> keypad Enter *keypad-enter*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
468 <kPoint> keypad Decimal point *keypad-point*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
469 <k0> - <k9> keypad 0 to 9 *keypad-0* *keypad-9*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
470 <S-...> shift-key *shift* *<S-*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
471 <C-...> control-key *control* *ctrl* *<C-*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
472 <M-...> alt-key or meta-key *meta* *alt* *<M-*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
473 <A-...> same as <M-...> *<A-*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
474 <D-...> command-key (Macintosh only) *<D-*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
475 <t_xx> key with "xx" entry in termcap
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
476 -----------------------------------------------------------------------
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
477
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
478 Note: The shifted cursor keys, the help key, and the undo key are only
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
479 available on a few terminals. On the Amiga, shifted function key 10 produces
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
480 a code (CSI) that is also used by key sequences. It will be recognized only
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
481 after typing another key.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
482
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
483 Note: There are two codes for the delete key. 127 is the decimal ASCII value
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
484 for the delete key, which is always recognized. Some delete keys send another
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
485 value, in which case this value is obtained from the termcap entry "kD". Both
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
486 values have the same effect. Also see |:fixdel|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
487
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
488 Note: The keypad keys are used in the same way as the corresponding "normal"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
489 keys. For example, <kHome> has the same effect as <Home>. If a keypad key
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
490 sends the same raw key code as its non-keypad equivalent, it will be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
491 recognized as the non-keypad code. For example, when <kHome> sends the same
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
492 code as <Home>, when pressing <kHome> Vim will think <Home> was pressed.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
493 Mapping <kHome> will not work then.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
494
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
495 *<>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
496 Examples are often given in the <> notation. Sometimes this is just to make
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
497 clear what you need to type, but often it can be typed literally, e.g., with
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
498 the ":map" command. The rules are:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
499 1. Any printable characters are typed directly, except backslash and '<'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
500 2. A backslash is represented with "\\", double backslash, or "<Bslash>".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
501 3. A real '<' is represented with "\<" or "<lt>". When there is no
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
502 confusion possible, a '<' can be used directly.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
503 4. "<key>" means the special key typed. This is the notation explained in
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
504 the table above. A few examples:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
505 <Esc> Escape key
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
506 <C-G> CTRL-G
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
507 <Up> cursor up key
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
508 <C-LeftMouse> Control- left mouse click
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
509 <S-F11> Shifted function key 11
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
510 <M-a> Meta- a ('a' with bit 8 set)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
511 <M-A> Meta- A ('A' with bit 8 set)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
512 <t_kd> "kd" termcap entry (cursor down key)
21991
bbca88cd13d5 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 20753
diff changeset
513 Although you can specify <M-{char}> with {char} being a multibyte
17758
f2c2f9126a82 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 17261
diff changeset
514 character, Vim may not be able to know what byte sequence that is and then
f2c2f9126a82 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 17261
diff changeset
515 it won't work.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
516
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
517 If you want to use the full <> notation in Vim, you have to make sure the '<'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
518 flag is excluded from 'cpoptions' (when 'compatible' is not set, it already is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
519 by default). >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
520 :set cpo-=<
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
521 The <> notation uses <lt> to escape the special meaning of key names. Using a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
522 backslash also works, but only when 'cpoptions' does not include the 'B' flag.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
523
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
524 Examples for mapping CTRL-H to the six characters "<Home>": >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
525 :imap <C-H> \<Home>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
526 :imap <C-H> <lt>Home>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
527 The first one only works when the 'B' flag is not in 'cpoptions'. The second
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
528 one always works.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
529 To get a literal "<lt>" in a mapping: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
530 :map <C-L> <lt>lt>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
531
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
532 For mapping, abbreviation and menu commands you can then copy-paste the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
533 examples and use them directly. Or type them literally, including the '<' and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
534 '>' characters. This does NOT work for other commands, like ":set" and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
535 ":autocmd"!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
536
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
537 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
538 5. Modes, introduction *vim-modes-intro* *vim-modes*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
539
12045
444ad56c0cac Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
540 Vim has seven BASIC modes:
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
541
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
542 *Normal* *Normal-mode* *command-mode*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
543 Normal mode In Normal mode you can enter all the normal editor
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
544 commands. If you start the editor you are in this
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
545 mode (unless you have set the 'insertmode' option,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
546 see below). This is also known as command mode.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
547
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
548 Visual mode This is like Normal mode, but the movement commands
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
549 extend a highlighted area. When a non-movement
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
550 command is used, it is executed for the highlighted
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
551 area. See |Visual-mode|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
552 If the 'showmode' option is on "-- VISUAL --" is shown
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
553 at the bottom of the window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
554
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
555 Select mode This looks most like the MS-Windows selection mode.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
556 Typing a printable character deletes the selection
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
557 and starts Insert mode. See |Select-mode|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
558 If the 'showmode' option is on "-- SELECT --" is shown
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
559 at the bottom of the window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
560
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
561 Insert mode In Insert mode the text you type is inserted into the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
562 buffer. See |Insert-mode|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
563 If the 'showmode' option is on "-- INSERT --" is shown
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
564 at the bottom of the window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
565
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
566 Command-line mode In Command-line mode (also called Cmdline mode) you
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
567 Cmdline mode can enter one line of text at the bottom of the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
568 window. This is for the Ex commands, ":", the pattern
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
569 search commands, "?" and "/", and the filter command,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
570 "!". |Cmdline-mode|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
571
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
572 Ex mode Like Command-line mode, but after entering a command
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
573 you remain in Ex mode. Very limited editing of the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
574 command line. |Ex-mode|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
575
12045
444ad56c0cac Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
576 Terminal-Job mode Interacting with a job in a terminal window. Typed
444ad56c0cac Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
577 keys go to the job and the job output is displayed in
444ad56c0cac Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
578 the terminal window. See |terminal| about how to
444ad56c0cac Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
579 switch to other modes.
444ad56c0cac Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
580
11914
4f7081eb1e26 Updated runtime files
Christian Brabandt <cb@256bit.org>
parents: 11763
diff changeset
581 There are seven ADDITIONAL modes. These are variants of the BASIC modes:
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
582
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
583 *Operator-pending* *Operator-pending-mode*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
584 Operator-pending mode This is like Normal mode, but after an operator
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
585 command has started, and Vim is waiting for a {motion}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
586 to specify the text that the operator will work on.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
587
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
588 Replace mode Replace mode is a special case of Insert mode. You
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
589 can do the same things as in Insert mode, but for
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
590 each character you enter, one character of the existing
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
591 text is deleted. See |Replace-mode|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
592 If the 'showmode' option is on "-- REPLACE --" is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
593 shown at the bottom of the window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
594
1624
18ee39301b82 updated for version 7.2a
vimboss
parents: 1272
diff changeset
595 Virtual Replace mode Virtual Replace mode is similar to Replace mode, but
18ee39301b82 updated for version 7.2a
vimboss
parents: 1272
diff changeset
596 instead of file characters you are replacing screen
18ee39301b82 updated for version 7.2a
vimboss
parents: 1272
diff changeset
597 real estate. See |Virtual-Replace-mode|.
18ee39301b82 updated for version 7.2a
vimboss
parents: 1272
diff changeset
598 If the 'showmode' option is on "-- VREPLACE --" is
18ee39301b82 updated for version 7.2a
vimboss
parents: 1272
diff changeset
599 shown at the bottom of the window.
18ee39301b82 updated for version 7.2a
vimboss
parents: 1272
diff changeset
600
14519
5c5908e81e93 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 14421
diff changeset
601 Insert Normal mode Entered when CTRL-O is typed in Insert mode (see
5c5908e81e93 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 14421
diff changeset
602 |i_CTRL-O|). This is like Normal mode, but after
5c5908e81e93 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 14421
diff changeset
603 executing one command Vim returns to Insert mode.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
604 If the 'showmode' option is on "-- (insert) --" is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
605 shown at the bottom of the window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
606
12045
444ad56c0cac Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
607 Terminal-Normal mode Using Normal mode in a terminal window. Making
444ad56c0cac Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
608 changes is impossible. Use an insert command, such as
444ad56c0cac Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
609 "a" or "i", to return to Terminal-Job mode.
11914
4f7081eb1e26 Updated runtime files
Christian Brabandt <cb@256bit.org>
parents: 11763
diff changeset
610
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
611 Insert Visual mode Entered when starting a Visual selection from Insert
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
612 mode, e.g., by using CTRL-O and then "v", "V" or
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
613 CTRL-V. When the Visual selection ends, Vim returns
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
614 to Insert mode.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
615 If the 'showmode' option is on "-- (insert) VISUAL --"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
616 is shown at the bottom of the window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
617
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
618 Insert Select mode Entered when starting Select mode from Insert mode.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
619 E.g., by dragging the mouse or <S-Right>.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
620 When the Select mode ends, Vim returns to Insert mode.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
621 If the 'showmode' option is on "-- (insert) SELECT --"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
622 is shown at the bottom of the window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
623
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
624 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
625 6. Switching from mode to mode *mode-switching*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
626
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
627 If for any reason you do not know which mode you are in, you can always get
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
628 back to Normal mode by typing <Esc> twice. This doesn't work for Ex mode
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
629 though, use ":visual".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
630 You will know you are back in Normal mode when you see the screen flash or
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
631 hear the bell after you type <Esc>. However, when pressing <Esc> after using
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
632 CTRL-O in Insert mode you get a beep but you are still in Insert mode, type
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
633 <Esc> again.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
634
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
635 *i_esc*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
636 TO mode ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
637 Normal Visual Select Insert Replace Cmd-line Ex ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
638 FROM mode ~
1624
18ee39301b82 updated for version 7.2a
vimboss
parents: 1272
diff changeset
639 Normal v V ^V *4 *1 R gR : / ? ! Q
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
640 Visual *2 ^G c C -- : --
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
641 Select *5 ^O ^G *6 -- -- --
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
642 Insert <Esc> -- -- <Insert> -- --
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
643 Replace <Esc> -- -- <Insert> -- --
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
644 Command-line *3 -- -- :start -- --
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
645 Ex :vi -- -- -- -- --
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
646
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
647 -- not possible
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
648
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
649 *1 Go from Normal mode to Insert mode by giving the command "i", "I", "a",
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
650 "A", "o", "O", "c", "C", "s" or S".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
651 *2 Go from Visual mode to Normal mode by giving a non-movement command, which
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
652 causes the command to be executed, or by hitting <Esc> "v", "V" or "CTRL-V"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
653 (see |v_v|), which just stops Visual mode without side effects.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
654 *3 Go from Command-line mode to Normal mode by:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
655 - Hitting <CR> or <NL>, which causes the entered command to be executed.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
656 - Deleting the complete line (e.g., with CTRL-U) and giving a final <BS>.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
657 - Hitting CTRL-C or <Esc>, which quits the command-line without executing
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
658 the command.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
659 In the last case <Esc> may be the character defined with the 'wildchar'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
660 option, in which case it will start command-line completion. You can
16610
1eaf34420bb3 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 16553
diff changeset
661 ignore that and type <Esc> again.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
662 *4 Go from Normal to Select mode by:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
663 - use the mouse to select text while 'selectmode' contains "mouse"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
664 - use a non-printable command to move the cursor while keeping the Shift
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
665 key pressed, and the 'selectmode' option contains "key"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
666 - use "v", "V" or "CTRL-V" while 'selectmode' contains "cmd"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
667 - use "gh", "gH" or "g CTRL-H" |g_CTRL-H|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
668 *5 Go from Select mode to Normal mode by using a non-printable command to move
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
669 the cursor, without keeping the Shift key pressed.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
670 *6 Go from Select mode to Insert mode by typing a printable character. The
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
671 selection is deleted and the character is inserted.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
672
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
673 If the 'insertmode' option is on, editing a file will start in Insert mode.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
674
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
675 *CTRL-\_CTRL-N* *i_CTRL-\_CTRL-N* *c_CTRL-\_CTRL-N* *v_CTRL-\_CTRL-N*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
676 Additionally the command CTRL-\ CTRL-N or <C-\><C-N> can be used to go to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
677 Normal mode from any other mode. This can be used to make sure Vim is in
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
678 Normal mode, without causing a beep like <Esc> would. However, this does not
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
679 work in Ex mode. When used after a command that takes an argument, such as
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
680 |f| or |m|, the timeout set with 'ttimeoutlen' applies.
23466
15fa3923cc49 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 23305
diff changeset
681 When focus is in a terminal window, CTRL-\ CTRL-N goes to Normal mode until an
15fa3923cc49 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 23305
diff changeset
682 edit command is entered, see |t_CTRL-\_CTRL-N|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
683
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
684 *CTRL-\_CTRL-G* *i_CTRL-\_CTRL-G* *c_CTRL-\_CTRL-G* *v_CTRL-\_CTRL-G*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
685 The command CTRL-\ CTRL-G or <C-\><C-G> can be used to go to Insert mode when
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
686 'insertmode' is set. Otherwise it goes to Normal mode. This can be used to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
687 make sure Vim is in the mode indicated by 'insertmode', without knowing in
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
688 what mode Vim currently is.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
689
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
690 *Q* *mode-Ex* *Ex-mode* *Ex* *EX* *E501*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
691 Q Switch to "Ex" mode. This is a bit like typing ":"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
692 commands one after another, except:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
693 - You don't have to keep pressing ":".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
694 - The screen doesn't get updated after each command.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
695 - There is no normal command-line editing.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
696 - Mappings and abbreviations are not used.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
697 In fact, you are editing the lines with the "standard"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
698 line-input editing commands (<Del> or <BS> to erase,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
699 CTRL-U to kill the whole line).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
700 Vim will enter this mode by default if it's invoked as
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
701 "ex" on the command-line.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
702 Use the ":vi" command |:visual| to exit "Ex" mode.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
703 Note: In older versions of Vim "Q" formatted text,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
704 that is now done with |gq|. But if you use the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
705 |vimrc_example.vim| script "Q" works like "gq".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
706
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
707 *gQ*
161
6df0106fc595 updated for version 7.0049
vimboss
parents: 39
diff changeset
708 gQ Switch to "Ex" mode like with "Q", but really behave
6df0106fc595 updated for version 7.0049
vimboss
parents: 39
diff changeset
709 like typing ":" commands after another. All command
6df0106fc595 updated for version 7.0049
vimboss
parents: 39
diff changeset
710 line editing, completion etc. is available.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
711 Use the ":vi" command |:visual| to exit "Ex" mode.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
712
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
713 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
714 7. The window contents *window-contents*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
715
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
716 In Normal mode and Insert/Replace mode the screen window will show the current
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
717 contents of the buffer: What You See Is What You Get. There are two
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
718 exceptions:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
719 - When the 'cpoptions' option contains '$', and the change is within one line,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
720 the text is not directly deleted, but a '$' is put at the last deleted
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
721 character.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
722 - When inserting text in one window, other windows on the same text are not
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
723 updated until the insert is finished.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
724
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
725 Lines longer than the window width will wrap, unless the 'wrap' option is off
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
726 (see below). The 'linebreak' option can be set to wrap at a blank character.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
727
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
728 If the window has room after the last line of the buffer, Vim will show '~' in
2642
840c3cadb842 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2596
diff changeset
729 the first column of the last lines in the window, like this:
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
730
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
731 +-----------------------+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
732 |some line |
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
733 |last line |
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
734 |~ |
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
735 |~ |
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
736 +-----------------------+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
737
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
738 Thus the '~' lines indicate that the end of the buffer was reached.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
739
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
740 If the last line in a window doesn't fit, Vim will indicate this with a '@' in
2642
840c3cadb842 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2596
diff changeset
741 the first column of the last lines in the window, like this:
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
742
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
743 +-----------------------+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
744 |first line |
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
745 |second line |
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
746 |@ |
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
747 |@ |
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
748 +-----------------------+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
749
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
750 Thus the '@' lines indicate that there is a line that doesn't fit in the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
751 window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
752
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
753 When the "lastline" flag is present in the 'display' option, you will not see
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
754 '@' characters at the left side of window. If the last line doesn't fit
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
755 completely, only the part that fits is shown, and the last three characters of
2662
916c90b37ea9 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2642
diff changeset
756 the last line are replaced with "@@@", like this:
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
757
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
758 +-----------------------+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
759 |first line |
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
760 |second line |
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
761 |a very long line that d|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
762 |oesn't fit in the wi@@@|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
763 +-----------------------+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
764
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
765 If there is a single line that is too long to fit in the window, this is a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
766 special situation. Vim will show only part of the line, around where the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
767 cursor is. There are no special characters shown, so that you can edit all
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
768 parts of this line.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
769
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
770 The '@' occasion in the 'highlight' option can be used to set special
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
771 highlighting for the '@' and '~' characters. This makes it possible to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
772 distinguish them from real characters in the buffer.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
773
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
774 The 'showbreak' option contains the string to put in front of wrapped lines.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
775
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
776 *wrap-off*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
777 If the 'wrap' option is off, long lines will not wrap. Only the part that
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
778 fits on the screen is shown. If the cursor is moved to a part of the line
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
779 that is not shown, the screen is scrolled horizontally. The advantage of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
780 this method is that columns are shown as they are and lines that cannot fit
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
781 on the screen can be edited. The disadvantage is that you cannot see all the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
782 characters of a line at once. The 'sidescroll' option can be set to the
16610
1eaf34420bb3 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 16553
diff changeset
783 minimal number of columns to scroll.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
784
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
785 All normal ASCII characters are displayed directly on the screen. The <Tab>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
786 is replaced with the number of spaces that it represents. Other non-printing
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
787 characters are replaced with "^{char}", where {char} is the non-printing
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
788 character with 64 added. Thus character 7 (bell) will be shown as "^G".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
789 Characters between 127 and 160 are replaced with "~{char}", where {char} is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
790 the character with 64 subtracted. These characters occupy more than one
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
791 position on the screen. The cursor can only be positioned on the first one.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
792
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
793 If you set the 'number' option, all lines will be preceded with their
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
794 number. Tip: If you don't like wrapping lines to mix with the line numbers,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
795 set the 'showbreak' option to eight spaces:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
796 ":set showbreak=\ \ \ \ \ \ \ \ "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
797
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
798 If you set the 'list' option, <Tab> characters will not be shown as several
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
799 spaces, but as "^I". A '$' will be placed at the end of the line, so you can
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
800 find trailing blanks.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
801
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
802 In Command-line mode only the command-line itself is shown correctly. The
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
803 display of the buffer contents is updated as soon as you go back to Command
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
804 mode.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
805
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
806 The last line of the window is used for status and other messages. The
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
807 status messages will only be used if an option is on:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
808
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
809 status message option default Unix default ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
810 current mode 'showmode' on on
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
811 command characters 'showcmd' on off
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
812 cursor position 'ruler' off off
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
813
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
814 The current mode is "-- INSERT --" or "-- REPLACE --", see |'showmode'|. The
16610
1eaf34420bb3 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 16553
diff changeset
815 command characters are those that you typed but were not used yet.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
816
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
817 If you have a slow terminal you can switch off the status messages to speed
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
818 up editing:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
819 :set nosc noru nosm
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
820
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
821 If there is an error, an error message will be shown for at least one second
16610
1eaf34420bb3 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 16553
diff changeset
822 (in reverse video).
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
823
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
824 Some commands show how many lines were affected. Above which threshold this
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
825 happens can be controlled with the 'report' option (default 2).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
826
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
827 On the Amiga Vim will run in a CLI window. The name Vim and the full name of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
828 the current file name will be shown in the title bar. When the window is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
829 resized, Vim will automatically redraw the window. You may make the window as
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
830 small as you like, but if it gets too small not a single line will fit in it.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
831 Make it at least 40 characters wide to be able to read most messages on the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
832 last line.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
833
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
834 On most Unix systems, resizing the window is recognized and handled correctly
16610
1eaf34420bb3 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 16553
diff changeset
835 by Vim.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
836
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
837 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
838 8. Definitions *definitions*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
839
12254
8d76a56861ec Update runtime files
Christian Brabandt <cb@256bit.org>
parents: 12045
diff changeset
840 buffer Contains lines of text, usually read from a file.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
841 screen The whole area that Vim uses to work in. This can be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
842 a terminal emulator window. Also called "the Vim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
843 window".
12254
8d76a56861ec Update runtime files
Christian Brabandt <cb@256bit.org>
parents: 12045
diff changeset
844 window A view on a buffer. There can be multiple windows for
8d76a56861ec Update runtime files
Christian Brabandt <cb@256bit.org>
parents: 12045
diff changeset
845 one buffer.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
846
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
847 A screen contains one or more windows, separated by status lines and with the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
848 command line at the bottom.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
849
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
850 +-------------------------------+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
851 screen | window 1 | window 2 |
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
852 | | |
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
853 | | |
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
854 |= status line =|= status line =|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
855 | window 3 |
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
856 | |
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
857 | |
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
858 |==== status line ==============|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
859 |command line |
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
860 +-------------------------------+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
861
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
862 The command line is also used for messages. It scrolls up the screen when
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
863 there is not enough room in the command line.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
864
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
865 A difference is made between four types of lines:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
866
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
867 buffer lines The lines in the buffer. This is the same as the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
868 lines as they are read from/written to a file. They
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
869 can be thousands of characters long.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
870 logical lines The buffer lines with folding applied. Buffer lines
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
871 in a closed fold are changed to a single logical line:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
872 "+-- 99 lines folded". They can be thousands of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
873 characters long.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
874 window lines The lines displayed in a window: A range of logical
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
875 lines with wrapping, line breaks, etc. applied. They
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
876 can only be as long as the width of the window allows,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
877 longer lines are wrapped or truncated.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
878 screen lines The lines of the screen that Vim uses. Consists of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
879 the window lines of all windows, with status lines
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
880 and the command line added. They can only be as long
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
881 as the width of the screen allows. When the command
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
882 line gets longer it wraps and lines are scrolled to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
883 make room.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
884
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
885 buffer lines logical lines window lines screen lines ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
886
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
887 1. one 1. one 1. +-- folded 1. +-- folded
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
888 2. two 2. +-- folded 2. five 2. five
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
889 3. three 3. five 3. six 3. six
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
890 4. four 4. six 4. seven 4. seven
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
891 5. five 5. seven 5. === status line ===
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
892 6. six 6. aaa
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
893 7. seven 7. bbb
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
894 8. ccc ccc c
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
895 1. aaa 1. aaa 1. aaa 9. cc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
896 2. bbb 2. bbb 2. bbb 10. ddd
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
897 3. ccc ccc ccc 3. ccc ccc ccc 3. ccc ccc c 11. ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
898 4. ddd 4. ddd 4. cc 12. === status line ===
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
899 5. ddd 13. (command line)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
900 6. ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
901
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
902 ==============================================================================
14421
2f7e67dd088c Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
903 vim:tw=78:ts=8:noet:ft=help:norl: