annotate runtime/doc/windows.txt @ 33585:e628d7f03758 v9.0.2037

patch 9.0.2037: A few remaining cmdline completion issues with C-E/Y Commit: https://github.com/vim/vim/commit/209ec90b9b9bd948d76511c9cd2b17f47a97afe6 Author: Yee Cheng Chin <ychin.git@gmail.com> Date: Tue Oct 17 10:56:25 2023 +0200 patch 9.0.2037: A few remaining cmdline completion issues with C-E/Y Problem: A few remaining cmdline completion issues with C-E/Y Solution: Fix cmdline completion fuzzy/Ctrl-E/Ctrl-Y/options when not used at the end Fix cmdline completion fuzzy/Ctrl-E/Ctrl-Y/options when not used at the end A few places in the cmdline completion code only works properly when the user hits Tab (or 'wildchar') at the end of the cmdline, even though it's supposed to work even in the middle of the line. For fuzzy search, `:e ++ff`, and `:set hl=`, fix completion code to make sure to use `xp_pattern_len` instead of assuming the entire `xp_pattern` is the search pattern (since it contains texts after the cursor). Fix Ctrl-E / Ctrl-Y to not jump to the end when canceling/accepting a wildmenu completion. Also, make them work even when not using `set wildoptions+=pum` as there is no drawback to doing so. (Related issue where this was brought up: #13331) closes: #13362 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
author Christian Brabandt <cb@256bit.org>
date Tue, 17 Oct 2023 11:00:03 +0200
parents def9fc5c92d1
children 4635e43f2c6f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
31383
15c80d8bc515 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 31200
diff changeset
1 *windows.txt* For Vim version 9.0. Last change: 2022 Nov 27
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 Editing with multiple windows and buffers. *windows* *buffers*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9 The commands which have been added to use multiple windows and buffers are
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10 explained here. Additionally, there are explanations for commands that work
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11 differently when used in combination with more than one window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13 The basics are explained in chapter 7 and 8 of the user manual |usr_07.txt|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14 |usr_08.txt|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16 1. Introduction |windows-intro|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17 2. Starting Vim |windows-starting|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18 3. Opening and closing a window |opening-window|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19 4. Moving cursor to other windows |window-move-cursor|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20 5. Moving windows around |window-moving|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21 6. Window resizing |window-resize|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22 7. Argument and buffer list commands |buffer-list|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23 8. Do a command in all buffers or windows |list-repeat|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 9. Tag or file name under the cursor |window-tag|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25 10. The preview window |preview-window|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26 11. Using hidden buffers |buffer-hidden|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27 12. Special kinds of buffers |special-buffers|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29 {not able to use multiple windows when the |+windows| feature was disabled at
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30 compile time}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
31
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
32 ==============================================================================
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 810
diff changeset
33 1. Introduction *windows-intro* *window*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34
2033
de5a43c5eedc Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents: 1702
diff changeset
35 Summary:
de5a43c5eedc Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents: 1702
diff changeset
36 A buffer is the in-memory text of a file.
de5a43c5eedc Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents: 1702
diff changeset
37 A window is a viewport on a buffer.
de5a43c5eedc Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents: 1702
diff changeset
38 A tab page is a collection of windows.
de5a43c5eedc Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents: 1702
diff changeset
39
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
40 A window is a viewport onto a buffer. You can use multiple windows on one
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
41 buffer, or several windows on different buffers.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
42
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43 A buffer is a file loaded into memory for editing. The original file remains
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
44 unchanged until you write the buffer to the file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
45
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
46 A buffer can be in one of three states:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
47
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
48 *active-buffer*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
49 active: The buffer is displayed in a window. If there is a file for this
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
50 buffer, it has been read into the buffer. The buffer may have been
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
51 modified since then and thus be different from the file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
52 *hidden-buffer*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
53 hidden: The buffer is not displayed. If there is a file for this buffer, it
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
54 has been read into the buffer. Otherwise it's the same as an active
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
55 buffer, you just can't see it.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
56 *inactive-buffer*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
57 inactive: The buffer is not displayed and does not contain anything. Options
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
58 for the buffer are remembered if the file was once loaded. It can
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
59 contain marks from the |viminfo| file. But the buffer doesn't
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
60 contain text.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
61
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
62 In a table:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
63
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
64 state displayed loaded ":buffers" ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
65 in window shows ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
66 active yes yes 'a'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
67 hidden no yes 'h'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
68 inactive no no ' '
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
69
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
70 Note: All CTRL-W commands can also be executed with |:wincmd|, for those
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
71 places where a Normal mode command can't be used or is inconvenient.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
72
674
4b8583e82cb8 updated for version 7.0201
vimboss
parents: 648
diff changeset
73 The main Vim window can hold several split windows. There are also tab pages
4b8583e82cb8 updated for version 7.0201
vimboss
parents: 648
diff changeset
74 |tab-page|, each of which can hold multiple windows.
9975
03fa8a51e9dc commit https://github.com/vim/vim/commit/e4a3bcf28d92d0bde9ca227ccb40d401038185e5
Christian Brabandt <cb@256bit.org>
parents: 9908
diff changeset
75 *window-ID* *winid* *windowid*
9286
64035abb986b commit https://github.com/vim/vim/commit/c95a302a4c42ec8230473cd4a5e0064d0a143aa8
Christian Brabandt <cb@256bit.org>
parents: 7924
diff changeset
76 Each window has a unique identifier called the window ID. This identifier
64035abb986b commit https://github.com/vim/vim/commit/c95a302a4c42ec8230473cd4a5e0064d0a143aa8
Christian Brabandt <cb@256bit.org>
parents: 7924
diff changeset
77 will not change within a Vim session. The |win_getid()| and |win_id2tabwin()|
64035abb986b commit https://github.com/vim/vim/commit/c95a302a4c42ec8230473cd4a5e0064d0a143aa8
Christian Brabandt <cb@256bit.org>
parents: 7924
diff changeset
78 functions can be used to convert between the window/tab number and the
64035abb986b commit https://github.com/vim/vim/commit/c95a302a4c42ec8230473cd4a5e0064d0a143aa8
Christian Brabandt <cb@256bit.org>
parents: 7924
diff changeset
79 identifier. There is also the window number, which may change whenever
64035abb986b commit https://github.com/vim/vim/commit/c95a302a4c42ec8230473cd4a5e0064d0a143aa8
Christian Brabandt <cb@256bit.org>
parents: 7924
diff changeset
80 windows are opened or closed, see |winnr()|.
14999
2b30a2b4bde2 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14519
diff changeset
81 The window number is only valid in one specific tab. The window ID is valid
2b30a2b4bde2 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14519
diff changeset
82 across tabs. For most functions that take a window ID or a window number, the
2b30a2b4bde2 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14519
diff changeset
83 window number only applies to the current tab, while the window ID can refer
2b30a2b4bde2 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14519
diff changeset
84 to a window in any tab.
9286
64035abb986b commit https://github.com/vim/vim/commit/c95a302a4c42ec8230473cd4a5e0064d0a143aa8
Christian Brabandt <cb@256bit.org>
parents: 7924
diff changeset
85
64035abb986b commit https://github.com/vim/vim/commit/c95a302a4c42ec8230473cd4a5e0064d0a143aa8
Christian Brabandt <cb@256bit.org>
parents: 7924
diff changeset
86 Each buffer has a unique number and the number will not change within a Vim
64035abb986b commit https://github.com/vim/vim/commit/c95a302a4c42ec8230473cd4a5e0064d0a143aa8
Christian Brabandt <cb@256bit.org>
parents: 7924
diff changeset
87 session. The |bufnr()| and |bufname()| functions can be used to convert
64035abb986b commit https://github.com/vim/vim/commit/c95a302a4c42ec8230473cd4a5e0064d0a143aa8
Christian Brabandt <cb@256bit.org>
parents: 7924
diff changeset
88 between a buffer name and the buffer number.
64035abb986b commit https://github.com/vim/vim/commit/c95a302a4c42ec8230473cd4a5e0064d0a143aa8
Christian Brabandt <cb@256bit.org>
parents: 7924
diff changeset
89
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
90 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
91 2. Starting Vim *windows-starting*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
92
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
93 By default, Vim starts with one window, just like Vi.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
94
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
95 The "-o" and "-O" arguments to Vim can be used to open a window for each file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
96 in the argument list. The "-o" argument will split the windows horizontally;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
97 the "-O" argument will split the windows vertically. If both "-o" and "-O"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
98 are given, the last one encountered will be used to determine the split
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
99 orientation. For example, this will open three windows, split horizontally: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
100 vim -o file1 file2 file3
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
101
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
102 "-oN", where N is a decimal number, opens N windows split horizontally. If
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
103 there are more file names than windows, only N windows are opened and some
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
104 files do not get a window. If there are more windows than file names, the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
105 last few windows will be editing empty buffers. Similarly, "-ON" opens N
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
106 windows split vertically, with the same restrictions.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
107
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
108 If there are many file names, the windows will become very small. You might
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
109 want to set the 'winheight' and/or 'winwidth' options to create a workable
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
110 situation.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
111
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
112 Buf/Win Enter/Leave |autocommand|s are not executed when opening the new
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
113 windows and reading the files, that's only done when they are really entered.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
114
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
115 *status-line*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
116 A status line will be used to separate windows. The 'laststatus' option tells
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
117 when the last window also has a status line:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
118 'laststatus' = 0 never a status line
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
119 'laststatus' = 1 status line if there is more than one window
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
120 'laststatus' = 2 always a status line
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
121
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
122 You can change the contents of the status line with the 'statusline' option.
40
f1d2a58883b9 updated for version 7.0024
vimboss
parents: 7
diff changeset
123 This option can be local to the window, so that you can have a different
f1d2a58883b9 updated for version 7.0024
vimboss
parents: 7
diff changeset
124 status line in each window.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
125
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
126 Normally, inversion is used to display the status line. This can be changed
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
127 with the 's' character in the 'highlight' option. For example, "sb" sets it to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
128 bold characters. If no highlighting is used for the status line ("sn"), the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
129 '^' character is used for the current window, and '=' for other windows. If
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
130 the mouse is supported and enabled with the 'mouse' option, a status line can
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
131 be dragged to resize windows.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
132
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
133 Note: If you expect your status line to be in reverse video and it isn't,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
134 check if the 'highlight' option contains "si". In version 3.0, this meant to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
135 invert the status line. Now it should be "sr", reverse the status line, as
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
136 "si" now stands for italic! If italic is not available on your terminal, the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
137 status line is inverted anyway; you will only see this problem on terminals
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
138 that have termcap codes for italics.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
139
20856
83cfa1ef1bf2 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 20379
diff changeset
140 *filler-lines*
23932
4549133c1e77 patch 8.2.2508: cannot change the character displayed in non existing lines
Bram Moolenaar <Bram@vim.org>
parents: 23931
diff changeset
141 The lines after the last buffer line in a window are called filler lines. By
4549133c1e77 patch 8.2.2508: cannot change the character displayed in non existing lines
Bram Moolenaar <Bram@vim.org>
parents: 23931
diff changeset
142 default, these lines start with a tilde (~) character. The 'eob' item in the
4549133c1e77 patch 8.2.2508: cannot change the character displayed in non existing lines
Bram Moolenaar <Bram@vim.org>
parents: 23931
diff changeset
143 'fillchars' option can be used to change this character. By default, these
4549133c1e77 patch 8.2.2508: cannot change the character displayed in non existing lines
Bram Moolenaar <Bram@vim.org>
parents: 23931
diff changeset
144 characters are highlighted as NonText (|hl-NonText|). The EndOfBuffer
4549133c1e77 patch 8.2.2508: cannot change the character displayed in non existing lines
Bram Moolenaar <Bram@vim.org>
parents: 23931
diff changeset
145 highlight group (|hl-EndOfBuffer|) can be used to change the highlighting of
4549133c1e77 patch 8.2.2508: cannot change the character displayed in non existing lines
Bram Moolenaar <Bram@vim.org>
parents: 23931
diff changeset
146 the filler characters.
20856
83cfa1ef1bf2 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 20379
diff changeset
147
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
148 ==============================================================================
27036
3e661b0cf500 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 26438
diff changeset
149 3. Opening and closing a window *opening-window*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
150
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
151 CTRL-W s *CTRL-W_s*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
152 CTRL-W S *CTRL-W_S*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
153 CTRL-W CTRL-S *CTRL-W_CTRL-S*
5741
f069a3a0f844 updated for version 7.4.215
Bram Moolenaar <bram@vim.org>
parents: 5294
diff changeset
154 :[N]sp[lit] [++opt] [+cmd] [file] *:sp* *:split*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
155 Split current window in two. The result is two viewports on
5741
f069a3a0f844 updated for version 7.4.215
Bram Moolenaar <bram@vim.org>
parents: 5294
diff changeset
156 the same file.
18831
6848b809a26e Runtime file updates.
Bram Moolenaar <Bram@vim.org>
parents: 18489
diff changeset
157
5741
f069a3a0f844 updated for version 7.4.215
Bram Moolenaar <bram@vim.org>
parents: 5294
diff changeset
158 Make the new window N high (default is to use half the height
f069a3a0f844 updated for version 7.4.215
Bram Moolenaar <bram@vim.org>
parents: 5294
diff changeset
159 of the current window). Reduces the current window height to
f069a3a0f844 updated for version 7.4.215
Bram Moolenaar <bram@vim.org>
parents: 5294
diff changeset
160 create room (and others, if the 'equalalways' option is set,
f069a3a0f844 updated for version 7.4.215
Bram Moolenaar <bram@vim.org>
parents: 5294
diff changeset
161 'eadirection' isn't "hor", and one of them is higher than the
f069a3a0f844 updated for version 7.4.215
Bram Moolenaar <bram@vim.org>
parents: 5294
diff changeset
162 current or the new window).
f069a3a0f844 updated for version 7.4.215
Bram Moolenaar <bram@vim.org>
parents: 5294
diff changeset
163
f069a3a0f844 updated for version 7.4.215
Bram Moolenaar <bram@vim.org>
parents: 5294
diff changeset
164 If [file] is given it will be edited in the new window. If it
f069a3a0f844 updated for version 7.4.215
Bram Moolenaar <bram@vim.org>
parents: 5294
diff changeset
165 is not loaded in any buffer, it will be read. Else the new
f069a3a0f844 updated for version 7.4.215
Bram Moolenaar <bram@vim.org>
parents: 5294
diff changeset
166 window will use the already loaded buffer.
f069a3a0f844 updated for version 7.4.215
Bram Moolenaar <bram@vim.org>
parents: 5294
diff changeset
167
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
168 Note: CTRL-S does not work on all terminals and might block
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
169 further input, use CTRL-Q to get going again.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
170 Also see |++opt| and |+cmd|.
27537
063952f68595 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 27036
diff changeset
171 *E242* *E1159*
17571
2704c4e3e20a Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 17433
diff changeset
172 Be careful when splitting a window in an autocommand, it may
2704c4e3e20a Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 17433
diff changeset
173 mess up the window layout if this happens while making other
2704c4e3e20a Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 17433
diff changeset
174 window layout changes.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
175
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
176 CTRL-W CTRL-V *CTRL-W_CTRL-V*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
177 CTRL-W v *CTRL-W_v*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
178 :[N]vs[plit] [++opt] [+cmd] [file] *:vs* *:vsplit*
1354
10a1b67c0885 updated for version 7.1-068
vimboss
parents: 1267
diff changeset
179 Like |:split|, but split vertically. The windows will be
10a1b67c0885 updated for version 7.1-068
vimboss
parents: 1267
diff changeset
180 spread out horizontally if
10a1b67c0885 updated for version 7.1-068
vimboss
parents: 1267
diff changeset
181 1. a width was not specified,
10a1b67c0885 updated for version 7.1-068
vimboss
parents: 1267
diff changeset
182 2. 'equalalways' is set,
10a1b67c0885 updated for version 7.1-068
vimboss
parents: 1267
diff changeset
183 3. 'eadirection' isn't "ver", and
1622
149d8b46404c updated for version 7.2a
vimboss
parents: 1354
diff changeset
184 4. one of the other windows is wider than the current or new
1354
10a1b67c0885 updated for version 7.1-068
vimboss
parents: 1267
diff changeset
185 window.
29840
b15334beeaa4 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 29314
diff changeset
186 If N was given make the new window N columns wide, if
b15334beeaa4 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 29314
diff changeset
187 possible.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
188 Note: In other places CTRL-Q does the same as CTRL-V, but here
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
189 it doesn't!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
190
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
191 CTRL-W n *CTRL-W_n*
33223
def9fc5c92d1 patch 9.0.1886: Various Typos
Christian Brabandt <cb@256bit.org>
parents: 31384
diff changeset
192 CTRL-W CTRL-N *CTRL-W_CTRL-N*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
193 :[N]new [++opt] [+cmd] *:new*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
194 Create a new window and start editing an empty file in it.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
195 Make new window N high (default is to use half the existing
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
196 height). Reduces the current window height to create room (and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
197 others, if the 'equalalways' option is set and 'eadirection'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
198 isn't "hor").
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
199 Also see |++opt| and |+cmd|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
200 If 'fileformats' is not empty, the first format given will be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
201 used for the new buffer. If 'fileformats' is empty, the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
202 'fileformat' of the current buffer is used. This can be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
203 overridden with the |++opt| argument.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
204 Autocommands are executed in this order:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
205 1. WinLeave for the current window
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
206 2. WinEnter for the new window
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
207 3. BufLeave for the current buffer
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
208 4. BufEnter for the new buffer
3465
161d01cbb165 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 3082
diff changeset
209 This behaves like a ":split" first, and then an ":enew"
161d01cbb165 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 3082
diff changeset
210 command.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
211
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
212 :[N]new [++opt] [+cmd] {file}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
213 :[N]sp[lit] [++opt] [+cmd] {file} *:split_f*
3465
161d01cbb165 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 3082
diff changeset
214 Create a new window and start editing file {file} in it. This
23931
5b37a0bf7e3a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 23305
diff changeset
215 behaves almost like a ":split" first, and then an ":edit"
5b37a0bf7e3a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 23305
diff changeset
216 command, but the alternate file name in the original window is
5b37a0bf7e3a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 23305
diff changeset
217 set to {file}.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
218 If [+cmd] is given, execute the command when the file has been
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
219 loaded |+cmd|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
220 Also see |++opt|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
221 Make new window N high (default is to use half the existing
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
222 height). Reduces the current window height to create room
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
223 (and others, if the 'equalalways' option is set).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
224
23305
fab58304f77d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 22840
diff changeset
225 :[N]vne[w] [++opt] [+cmd] [file] *:vne* *:vnew*
fab58304f77d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 22840
diff changeset
226 Like |:new|, but split vertically. If 'equalalways' is set
fab58304f77d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 22840
diff changeset
227 and 'eadirection' isn't "ver" the windows will be spread out
fab58304f77d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 22840
diff changeset
228 horizontally, unless a width was specified.
fab58304f77d Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 22840
diff changeset
229
19721
bceeded72898 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18879
diff changeset
230 :[N]sv[iew] [++opt] [+cmd] [file] *:sv* *:sview* *splitview*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
231 Same as ":split", but set 'readonly' option for this buffer.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
232
16944
d23afa4d8b63 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 16859
diff changeset
233 :[N]sf[ind] [++opt] [+cmd] {file} *:sf* *:sfi* *:sfind* *splitfind*
1668
0b796e045c42 updated for version 7.2b-000
vimboss
parents: 1622
diff changeset
234 Same as ":split", but search for {file} in 'path' like in
0b796e045c42 updated for version 7.2b-000
vimboss
parents: 1622
diff changeset
235 |:find|. Doesn't split if {file} is not found.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
236
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
237 CTRL-W CTRL-^ *CTRL-W_CTRL-^* *CTRL-W_^*
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14999
diff changeset
238 CTRL-W ^ Split the current window in two and edit the alternate file.
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14999
diff changeset
239 When a count N is given, split the current window and edit
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14999
diff changeset
240 buffer N. Similar to ":sp #" and ":sp #N", but it allows the
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14999
diff changeset
241 other buffer to be unnamed. This command matches the behavior
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 14999
diff changeset
242 of |CTRL-^|, except that it splits a window first.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
243
11763
21f3930dfe6e Documentation updates.
Christian Brabandt <cb@256bit.org>
parents: 10449
diff changeset
244 *CTRL-W_:*
14123
583bf95b6c84 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
245 CTRL-W : Does the same as typing |:| - enter a command line. Useful in a
11763
21f3930dfe6e Documentation updates.
Christian Brabandt <cb@256bit.org>
parents: 10449
diff changeset
246 terminal window, where all Vim commands must be preceded with
14123
583bf95b6c84 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
247 CTRL-W or 'termwinkey'.
11763
21f3930dfe6e Documentation updates.
Christian Brabandt <cb@256bit.org>
parents: 10449
diff changeset
248
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
249 Note that the 'splitbelow' and 'splitright' options influence where a new
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
250 window will appear.
27036
3e661b0cf500 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 26438
diff changeset
251 *E36*
3e661b0cf500 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 26438
diff changeset
252 Creating a window will fail if there is not enough room. Every window needs
3e661b0cf500 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 26438
diff changeset
253 at least one screen line and column, sometimes more. Options 'winminheight'
3e661b0cf500 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 26438
diff changeset
254 and 'winminwidth' are relevant.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
255
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
256 *:vert* *:vertical*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
257 :vert[ical] {cmd}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
258 Execute {cmd}. If it contains a command that splits a window,
30009
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 29853
diff changeset
259 it will be split vertically. For `vertical wincmd =` windows
30085
ebed259f919f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 30009
diff changeset
260 will be equalized only vertically.
1123
c4cd8ad60bee updated for version 7.1a
vimboss
parents: 874
diff changeset
261 Doesn't work for |:execute| and |:normal|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
262
30009
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 29853
diff changeset
263 *:hor* *:horizontal*
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 29853
diff changeset
264 :hor[izontal] {cmd}
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 29853
diff changeset
265 Execute {cmd}. Currently only makes a difference for
30085
ebed259f919f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 30009
diff changeset
266 `horizontal wincmd =`, which will equalize windows only
30009
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 29853
diff changeset
267 horizontally.
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 29853
diff changeset
268
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
269 :lefta[bove] {cmd} *:lefta* *:leftabove*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
270 :abo[veleft] {cmd} *:abo* *:aboveleft*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
271 Execute {cmd}. If it contains a command that splits a window,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
272 it will be opened left (vertical split) or above (horizontal
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
273 split) the current window. Overrules 'splitbelow' and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
274 'splitright'.
1123
c4cd8ad60bee updated for version 7.1a
vimboss
parents: 874
diff changeset
275 Doesn't work for |:execute| and |:normal|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
276
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
277 :rightb[elow] {cmd} *:rightb* *:rightbelow*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
278 :bel[owright] {cmd} *:bel* *:belowright*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
279 Execute {cmd}. If it contains a command that splits a window,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
280 it will be opened right (vertical split) or below (horizontal
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
281 split) the current window. Overrules 'splitbelow' and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
282 'splitright'.
1123
c4cd8ad60bee updated for version 7.1a
vimboss
parents: 874
diff changeset
283 Doesn't work for |:execute| and |:normal|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
284
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
285 *:topleft* *E442*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
286 :to[pleft] {cmd}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
287 Execute {cmd}. If it contains a command that splits a window,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
288 it will appear at the top and occupy the full width of the Vim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
289 window. When the split is vertical the window appears at the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
290 far left and occupies the full height of the Vim window.
1123
c4cd8ad60bee updated for version 7.1a
vimboss
parents: 874
diff changeset
291 Doesn't work for |:execute| and |:normal|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
292
9737
35ce559b8553 commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents: 9286
diff changeset
293 *:bo* *:botright*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
294 :bo[tright] {cmd}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
295 Execute {cmd}. If it contains a command that splits a window,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
296 it will appear at the bottom and occupy the full width of the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
297 Vim window. When the split is vertical the window appears at
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
298 the far right and occupies the full height of the Vim window.
1123
c4cd8ad60bee updated for version 7.1a
vimboss
parents: 874
diff changeset
299 Doesn't work for |:execute| and |:normal|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
300
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
301 These command modifiers can be combined to make a vertically split window
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
302 occupy the full height. Example: >
3082
3502a7f991fc Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2577
diff changeset
303 :vertical topleft split tags
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
304 Opens a vertically split, full-height window on the "tags" file at the far
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
305 left of the Vim window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
306
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
307
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
308 Closing a window
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
309 ----------------
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
310
6398
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
311 :q[uit]
25773
11b656e74444 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 24468
diff changeset
312 :{count}q[uit] *:count_quit*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
313 CTRL-W q *CTRL-W_q*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
314 CTRL-W CTRL-Q *CTRL-W_CTRL-Q*
6398
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
315 Without {count}: Quit the current window. If {count} is
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
316 given quit the {count} window.
20379
7f88f6a3ed4c Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 19721
diff changeset
317 *edit-window*
7f88f6a3ed4c Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 19721
diff changeset
318 When quitting the last edit window (not counting help or
7f88f6a3ed4c Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 19721
diff changeset
319 preview windows), exit Vim.
18831
6848b809a26e Runtime file updates.
Bram Moolenaar <Bram@vim.org>
parents: 18489
diff changeset
320
6398
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
321 When 'hidden' is set, and there is only one window for the
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
322 current buffer, it becomes hidden. When 'hidden' is not set,
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
323 and there is only one window for the current buffer, and the
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
324 buffer was changed, the command fails.
18831
6848b809a26e Runtime file updates.
Bram Moolenaar <Bram@vim.org>
parents: 18489
diff changeset
325
6421
5d89d9b40499 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 6417
diff changeset
326 (Note: CTRL-Q does not work on all terminals).
18831
6848b809a26e Runtime file updates.
Bram Moolenaar <Bram@vim.org>
parents: 18489
diff changeset
327
6421
5d89d9b40499 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 6417
diff changeset
328 If [count] is greater than the last window number the last
5d89d9b40499 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 6417
diff changeset
329 window will be closed: >
6398
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
330 :1quit " quit the first window
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
331 :$quit " quit the last window
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
332 :9quit " quit the last window
10301
07d2b5a3b7cc commit https://github.com/vim/vim/commit/46fceaaa8d1447a9588736d86eb4908214187b08
Christian Brabandt <cb@256bit.org>
parents: 10198
diff changeset
333 " if there are fewer than 9 windows opened
07d2b5a3b7cc commit https://github.com/vim/vim/commit/46fceaaa8d1447a9588736d86eb4908214187b08
Christian Brabandt <cb@256bit.org>
parents: 10198
diff changeset
334 :-quit " quit the previous window
6398
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
335 :+quit " quit the next window
6421
5d89d9b40499 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 6417
diff changeset
336 :+2quit " quit the second next window
6398
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
337 <
20379
7f88f6a3ed4c Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 19721
diff changeset
338 When closing a help window, and this is not the only window,
7f88f6a3ed4c Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 19721
diff changeset
339 Vim will try to restore the previous window layout, see
7f88f6a3ed4c Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 19721
diff changeset
340 |:helpclose|.
18456
6d11fc4aa683 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 17909
diff changeset
341
6398
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
342 :q[uit]!
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
343 :{count}q[uit]!
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
344 Without {count}: Quit the current window. If {count} is
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
345 given quit the {count} window.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
346
6398
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
347 If this was the last window for a buffer, any changes to that
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
348 buffer are lost. When quitting the last window (not counting
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
349 help windows), exit Vim. The contents of the buffer are lost,
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
350 even when 'hidden' is set.
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
351
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
352 :clo[se][!]
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
353 :{count}clo[se][!]
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
354 CTRL-W c *CTRL-W_c* *:clo* *:close*
6398
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
355 Without {count}: Close the current window. If {count} is
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
356 given close the {count} window.
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
357
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
358 When the 'hidden' option is set, or when the buffer was
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
359 changed and the [!] is used, the buffer becomes hidden (unless
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
360 there is another window editing it).
18831
6848b809a26e Runtime file updates.
Bram Moolenaar <Bram@vim.org>
parents: 18489
diff changeset
361
20379
7f88f6a3ed4c Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 19721
diff changeset
362 When there is only one |edit-window| in the current tab page
7f88f6a3ed4c Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 19721
diff changeset
363 and there is another tab page, this closes the current tab
7f88f6a3ed4c Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 19721
diff changeset
364 page. |tab-page|.
6398
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
365
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
366 This command fails when: *E444*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
367 - There is only one window on the screen.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
368 - When 'hidden' is not set, [!] is not used, the buffer has
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
369 changes, and there is no other window on this buffer.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
370 Changes to the buffer are not written and won't get lost, so
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
371 this is a "safe" command.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
372
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
373 CTRL-W CTRL-C *CTRL-W_CTRL-C*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
374 You might have expected that CTRL-W CTRL-C closes the current
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
375 window, but that does not work, because the CTRL-C cancels the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
376 command.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
377
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
378 *:hide*
6398
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
379 :hid[e]
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
380 :{count}hid[e]
12254
8d76a56861ec Update runtime files
Christian Brabandt <cb@256bit.org>
parents: 11763
diff changeset
381 Without {count}: Quit the current window, unless it is the
8d76a56861ec Update runtime files
Christian Brabandt <cb@256bit.org>
parents: 11763
diff changeset
382 last window on the screen.
8d76a56861ec Update runtime files
Christian Brabandt <cb@256bit.org>
parents: 11763
diff changeset
383 If {count} is given quit the {count} window.
18831
6848b809a26e Runtime file updates.
Bram Moolenaar <Bram@vim.org>
parents: 18489
diff changeset
384
6398
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
385 The buffer becomes hidden (unless there is another window
6421
5d89d9b40499 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 6417
diff changeset
386 editing it or 'bufhidden' is "unload", "delete" or "wipe").
5d89d9b40499 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 6417
diff changeset
387 If the window is the last one in the current tab page the tab
18831
6848b809a26e Runtime file updates.
Bram Moolenaar <Bram@vim.org>
parents: 18489
diff changeset
388 page is closed. |tab-page|
6848b809a26e Runtime file updates.
Bram Moolenaar <Bram@vim.org>
parents: 18489
diff changeset
389
6398
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
390 The value of 'hidden' is irrelevant for this command. Changes
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
391 to the buffer are not written and won't get lost, so this is a
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
392 "safe" command.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
393
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
394 :hid[e] {cmd} Execute {cmd} with 'hidden' is set. The previous value of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
395 'hidden' is restored after {cmd} has been executed.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
396 Example: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
397 :hide edit Makefile
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
398 < This will edit "Makefile", and hide the current buffer if it
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
399 has any changes.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
400
6398
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
401 :on[ly][!]
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
402 :{count}on[ly][!]
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
403 CTRL-W o *CTRL-W_o* *E445*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
404 CTRL-W CTRL-O *CTRL-W_CTRL-O* *:on* *:only*
6398
5a76e36f07b1 updated for version 7.4.530
Bram Moolenaar <bram@vim.org>
parents: 6259
diff changeset
405 Make the current window the only one on the screen. All other
25773
11b656e74444 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 24468
diff changeset
406 windows are closed. For {count} see the `:quit` command
11b656e74444 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 24468
diff changeset
407 above |:count_quit|.
18831
6848b809a26e Runtime file updates.
Bram Moolenaar <Bram@vim.org>
parents: 18489
diff changeset
408
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
409 When the 'hidden' option is set, all buffers in closed windows
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
410 become hidden.
18831
6848b809a26e Runtime file updates.
Bram Moolenaar <Bram@vim.org>
parents: 18489
diff changeset
411
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
412 When 'hidden' is not set, and the 'autowrite' option is set,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
413 modified buffers are written. Otherwise, windows that have
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
414 buffers that are modified are not removed, unless the [!] is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
415 given, then they become hidden. But modified buffers are
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
416 never abandoned, so changes cannot get lost.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
417
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
418 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
419 4. Moving cursor to other windows *window-move-cursor*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
420
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
421 CTRL-W <Down> *CTRL-W_<Down>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
422 CTRL-W CTRL-J *CTRL-W_CTRL-J* *CTRL-W_j*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
423 CTRL-W j Move cursor to Nth window below current one. Uses the cursor
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
424 position to select between alternatives.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
425
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
426 CTRL-W <Up> *CTRL-W_<Up>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
427 CTRL-W CTRL-K *CTRL-W_CTRL-K* *CTRL-W_k*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
428 CTRL-W k Move cursor to Nth window above current one. Uses the cursor
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
429 position to select between alternatives.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
430
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
431 CTRL-W <Left> *CTRL-W_<Left>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
432 CTRL-W CTRL-H *CTRL-W_CTRL-H*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
433 CTRL-W <BS> *CTRL-W_<BS>* *CTRL-W_h*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
434 CTRL-W h Move cursor to Nth window left of current one. Uses the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
435 cursor position to select between alternatives.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
436
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
437 CTRL-W <Right> *CTRL-W_<Right>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
438 CTRL-W CTRL-L *CTRL-W_CTRL-L* *CTRL-W_l*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
439 CTRL-W l Move cursor to Nth window right of current one. Uses the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
440 cursor position to select between alternatives.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
441
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
442 CTRL-W w *CTRL-W_w* *CTRL-W_CTRL-W*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
443 CTRL-W CTRL-W Without count: move cursor to window below/right of the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
444 current one. If there is no window below or right, go to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
445 top-left window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
446 With count: go to Nth window (windows are numbered from
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
447 top-left to bottom-right). To obtain the window number see
2033
de5a43c5eedc Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents: 1702
diff changeset
448 |bufwinnr()| and |winnr()|. When N is larger than the number
de5a43c5eedc Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents: 1702
diff changeset
449 of windows go to the last window.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
450
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
451 *CTRL-W_W*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
452 CTRL-W W Without count: move cursor to window above/left of current
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
453 one. If there is no window above or left, go to bottom-right
2033
de5a43c5eedc Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents: 1702
diff changeset
454 window. With count: go to Nth window, like with CTRL-W w.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
455
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
456 CTRL-W t *CTRL-W_t* *CTRL-W_CTRL-T*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
457 CTRL-W CTRL-T Move cursor to top-left window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
458
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
459 CTRL-W b *CTRL-W_b* *CTRL-W_CTRL-B*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
460 CTRL-W CTRL-B Move cursor to bottom-right window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
461
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
462 CTRL-W p *CTRL-W_p* *CTRL-W_CTRL-P*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
463 CTRL-W CTRL-P Go to previous (last accessed) window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
464
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
465 *CTRL-W_P* *E441*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
466 CTRL-W P Go to preview window. When there is no preview window this is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
467 an error.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
468 {not available when compiled without the |+quickfix| feature}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
469
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
470 If Visual mode is active and the new window is not for the same buffer, the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
471 Visual mode is ended. If the window is on the same buffer, the cursor
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
472 position is set to keep the same Visual area selected.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
473
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
474 *:winc* *:wincmd*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
475 These commands can also be executed with ":wincmd":
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
476
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
477 :[count]winc[md] {arg}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
478 Like executing CTRL-W [count] {arg}. Example: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
479 :wincmd j
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
480 < Moves to the window below the current one.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
481 This command is useful when a Normal mode cannot be used (for
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
482 the |CursorHold| autocommand event). Or when a Normal mode
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
483 command is inconvenient.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
484 The count can also be a window number. Example: >
27903
d19b7aee1925 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 27537
diff changeset
485 :exe nr .. "wincmd w"
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
486 < This goes to window "nr".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
487
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
488 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
489 5. Moving windows around *window-moving*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
490
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
491 CTRL-W r *CTRL-W_r* *CTRL-W_CTRL-R* *E443*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
492 CTRL-W CTRL-R Rotate windows downwards/rightwards. The first window becomes
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
493 the second one, the second one becomes the third one, etc.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
494 The last window becomes the first window. The cursor remains
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
495 in the same window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
496 This only works within the row or column of windows that the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
497 current window is in.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
498
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
499 *CTRL-W_R*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
500 CTRL-W R Rotate windows upwards/leftwards. The second window becomes
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
501 the first one, the third one becomes the second one, etc. The
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
502 first window becomes the last window. The cursor remains in
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
503 the same window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
504 This only works within the row or column of windows that the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
505 current window is in.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
506
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
507 CTRL-W x *CTRL-W_x* *CTRL-W_CTRL-X*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
508 CTRL-W CTRL-X Without count: Exchange current window with next one. If there
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
509 is no next window, exchange with previous window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
510 With count: Exchange current window with Nth window (first
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
511 window is 1). The cursor is put in the other window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
512 When vertical and horizontal window splits are mixed, the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
513 exchange is only done in the row or column of windows that the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
514 current window is in.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
515
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
516 The following commands can be used to change the window layout. For example,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
517 when there are two vertically split windows, CTRL-W K will change that in
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
518 horizontally split windows. CTRL-W H does it the other way around.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
519
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
520 *CTRL-W_K*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
521 CTRL-W K Move the current window to be at the very top, using the full
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
522 width of the screen. This works like closing the current
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
523 window and then creating another one with ":topleft split",
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
524 except that the current window contents is used for the new
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
525 window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
526
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
527 *CTRL-W_J*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
528 CTRL-W J Move the current window to be at the very bottom, using the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
529 full width of the screen. This works like closing the current
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
530 window and then creating another one with ":botright split",
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
531 except that the current window contents is used for the new
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
532 window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
533
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
534 *CTRL-W_H*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
535 CTRL-W H Move the current window to be at the far left, using the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
536 full height of the screen. This works like closing the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
537 current window and then creating another one with
24468
9f41bfdbc6fc Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 24278
diff changeset
538 `:vert topleft split`, except that the current window contents
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
539 is used for the new window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
540
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
541 *CTRL-W_L*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
542 CTRL-W L Move the current window to be at the far right, using the full
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
543 height of the screen. This works like closing the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
544 current window and then creating another one with
24468
9f41bfdbc6fc Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 24278
diff changeset
545 `:vert botright split`, except that the current window
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
546 contents is used for the new window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
547
826
1cdd2661f34c updated for version 7.0d01
vimboss
parents: 825
diff changeset
548 *CTRL-W_T*
1cdd2661f34c updated for version 7.0d01
vimboss
parents: 825
diff changeset
549 CTRL-W T Move the current window to a new tab page. This fails if
1cdd2661f34c updated for version 7.0d01
vimboss
parents: 825
diff changeset
550 there is only one window in the current tab page.
1cdd2661f34c updated for version 7.0d01
vimboss
parents: 825
diff changeset
551 When a count is specified the new tab page will be opened
1cdd2661f34c updated for version 7.0d01
vimboss
parents: 825
diff changeset
552 before the tab page with this index. Otherwise it comes after
1cdd2661f34c updated for version 7.0d01
vimboss
parents: 825
diff changeset
553 the current tab page.
1cdd2661f34c updated for version 7.0d01
vimboss
parents: 825
diff changeset
554
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
555 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
556 6. Window resizing *window-resize*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
557
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
558 *CTRL-W_=*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
559 CTRL-W = Make all windows (almost) equally high and wide, but use
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
560 'winheight' and 'winwidth' for the current window.
1123
c4cd8ad60bee updated for version 7.1a
vimboss
parents: 874
diff changeset
561 Windows with 'winfixheight' set keep their height and windows
c4cd8ad60bee updated for version 7.1a
vimboss
parents: 874
diff changeset
562 with 'winfixwidth' set keep their width.
30009
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 29853
diff changeset
563 To equalize only vertically (make window equally high) use
31028
5acd6f02ea35 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 30085
diff changeset
564 `vertical wincmd =`.
30009
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 29853
diff changeset
565 To equalize only horizontally (make window equally wide) use
31028
5acd6f02ea35 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 30085
diff changeset
566 `horizontal wincmd =`.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
567
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
568 :res[ize] -N *:res* *:resize* *CTRL-W_-*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
569 CTRL-W - Decrease current window height by N (default 1).
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 2033
diff changeset
570 If used after |:vertical|: decrease width by N.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
571
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
572 :res[ize] +N *CTRL-W_+*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
573 CTRL-W + Increase current window height by N (default 1).
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 2033
diff changeset
574 If used after |:vertical|: increase width by N.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
575
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
576 :res[ize] [N]
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
577 CTRL-W CTRL-_ *CTRL-W_CTRL-_* *CTRL-W__*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
578 CTRL-W _ Set current window height to N (default: highest possible).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
579
18489
1cd44535be32 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 18463
diff changeset
580 :{winnr}res[ize] [+-]N
1cd44535be32 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 18463
diff changeset
581 Like `:resize` above, but apply the size to window {winnr}
1cd44535be32 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 18463
diff changeset
582 instead of the current window.
1cd44535be32 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 18463
diff changeset
583
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
584 z{nr}<CR> Set current window height to {nr}.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
585
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
586 *CTRL-W_<*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
587 CTRL-W < Decrease current window width by N (default 1).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
588
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
589 *CTRL-W_>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
590 CTRL-W > Increase current window width by N (default 1).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
591
24468
9f41bfdbc6fc Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 24278
diff changeset
592 :vert[ical] res[ize] [N] *:vertical-resize* *CTRL-W_bar*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
593 CTRL-W | Set current window width to N (default: widest possible).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
594
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
595 You can also resize a window by dragging a status line up or down with the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
596 mouse. Or by dragging a vertical separator line left or right. This only
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
597 works if the version of Vim that is being used supports the mouse and the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
598 'mouse' option has been set to enable it.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
599
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
600 The option 'winheight' ('wh') is used to set the minimal window height of the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
601 current window. This option is used each time another window becomes the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
602 current window. If the option is '0', it is disabled. Set 'winheight' to a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
603 very large value, e.g., '9999', to make the current window always fill all
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
604 available space. Set it to a reasonable value, e.g., '10', to make editing in
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
605 the current window comfortable.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
606
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
607 The equivalent 'winwidth' ('wiw') option is used to set the minimal width of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
608 the current window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
609
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
610 When the option 'equalalways' ('ea') is set, all the windows are automatically
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
611 made the same size after splitting or closing a window. If you don't set this
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
612 option, splitting a window will reduce the size of the current window and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
613 leave the other windows the same. When closing a window, the extra lines are
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
614 given to the window above it.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
615
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
616 The 'eadirection' option limits the direction in which the 'equalalways'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
617 option is applied. The default "both" resizes in both directions. When the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
618 value is "ver" only the heights of windows are equalized. Use this when you
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
619 have manually resized a vertically split window and want to keep this width.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
620 Likewise, "hor" causes only the widths of windows to be equalized.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
621
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
622 The option 'cmdheight' ('ch') is used to set the height of the command-line.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
623 If you are annoyed by the |hit-enter| prompt for long messages, set this
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
624 option to 2 or 3.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
625
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
626 If there is only one window, resizing that window will also change the command
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
627 line height. If there are several windows, resizing the current window will
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
628 also change the height of the window below it (and sometimes the window above
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
629 it).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
630
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
631 The minimal height and width of a window is set with 'winminheight' and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
632 'winminwidth'. These are hard values, a window will never become smaller.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
633
31166
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
634
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
635 WinScrolled and WinResized autocommands ~
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
636 *win-scrolled-resized*
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
637 If you want to get notified of changes in window sizes, the |WinResized|
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
638 autocommand event can be used.
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
639 If you want to get notified of text in windows scrolling vertically or
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
640 horizontally, the |WinScrolled| autocommand event can be used. This will also
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
641 trigger in window size changes.
31383
15c80d8bc515 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 31200
diff changeset
642 Exception: the events will not be triggered when the text scrolls for
15c80d8bc515 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 31200
diff changeset
643 'incsearch'.
31166
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
644 *WinResized-event*
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
645 The |WinResized| event is triggered after updating the display, several
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
646 windows may have changed size then. A list of the IDs of windows that changed
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
647 since last time is provided in the v:event.windows variable, for example:
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
648 [1003, 1006]
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
649 *WinScrolled-event*
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
650 The |WinScrolled| event is triggered after |WinResized|, and also if a window
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
651 was scrolled. That can be vertically (the text at the top of the window
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
652 changed) or horizontally (when 'wrap' is off or when the first displayed part
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
653 of the first line changes). Note that |WinScrolled| will trigger many more
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
654 times than |WinResized|, it may slow down editing a bit.
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
655
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
656 The information provided by |WinScrolled| is a dictionary for each window that
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
657 has changes, using the window ID as the key, and a total count of the changes
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
658 with the key "all". Example value for |v:event| (|Vim9| syntax):
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
659 {
31384
992bfd3aee3f patch 9.0.1025: WinScrolled is not triggered when filler lines change
Bram Moolenaar <Bram@vim.org>
parents: 31383
diff changeset
660 all: {width: 0, height: 2, leftcol: 0, skipcol: 0, topline: 1, topfill: 0},
992bfd3aee3f patch 9.0.1025: WinScrolled is not triggered when filler lines change
Bram Moolenaar <Bram@vim.org>
parents: 31383
diff changeset
661 1003: {width: 0, height: -1, leftcol: 0, skipcol: 0, topline: 0, topfill: 0},
992bfd3aee3f patch 9.0.1025: WinScrolled is not triggered when filler lines change
Bram Moolenaar <Bram@vim.org>
parents: 31383
diff changeset
662 1006: {width: 0, height: 1, leftcol: 0, skipcol: 0, topline: 1, topfill: 0},
31166
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
663 }
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
664
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
665 Note that the "all" entry has the absolute values of the individual windows
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
666 accumulated.
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
667
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
668 If you need more information about what changed, or you want to "debounce" the
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
669 events (not handle every event to avoid doing too much work), you may want to
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
670 use the `winlayout()` and `getwininfo()` functions.
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
671
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
672 |WinScrolled| and |WinResized| do not trigger when the first autocommand is
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
673 added, only after the first scroll or resize. They may trigger when switching
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
674 to another tab page.
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
675
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
676 The commands executed are expected to not cause window size or scroll changes.
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
677 If this happens anyway, the event will trigger again very soon. In other
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
678 words: Just before triggering the event, the current sizes and scroll
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
679 positions are stored and used to decide whether there was a change.
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
680 *E1312*
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
681 It is not allowed to change the window layout here (split, close or move
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
682 windows).
a86ee6c0309e patch 9.0.0917: the WinScrolled autocommand event is not enough
Bram Moolenaar <Bram@vim.org>
parents: 31028
diff changeset
683
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
684 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
685 7. Argument and buffer list commands *buffer-list*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
686
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
687 args list buffer list meaning ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
688 1. :[N]argument [N] 11. :[N]buffer [N] to arg/buf N
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
689 2. :[N]next [file ..] 12. :[N]bnext [N] to Nth next arg/buf
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
690 3. :[N]Next [N] 13. :[N]bNext [N] to Nth previous arg/buf
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
691 4. :[N]previous [N] 14. :[N]bprevious [N] to Nth previous arg/buf
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
692 5. :rewind / :first 15. :brewind / :bfirst to first arg/buf
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
693 6. :last 16. :blast to last arg/buf
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
694 7. :all 17. :ball edit all args/buffers
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
695 18. :unhide edit all loaded buffers
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
696 19. :[N]bmod [N] to Nth modified buf
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
697
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
698 split & args list split & buffer list meaning ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
699 21. :[N]sargument [N] 31. :[N]sbuffer [N] split + to arg/buf N
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
700 22. :[N]snext [file ..] 32. :[N]sbnext [N] split + to Nth next arg/buf
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
701 23. :[N]sNext [N] 33. :[N]sbNext [N] split + to Nth previous arg/buf
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
702 24. :[N]sprevious [N] 34. :[N]sbprevious [N] split + to Nth previous arg/buf
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
703 25. :srewind / :sfirst 35. :sbrewind / :sbfirst split + to first arg/buf
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
704 26. :slast 36. :sblast split + to last arg/buf
237
73354c21f1e4 updated for version 7.0066
vimboss
parents: 168
diff changeset
705 27. :sall 37. :sball edit all args/buffers
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
706 38. :sunhide edit all loaded buffers
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
707 39. :[N]sbmod [N] split + to Nth modified buf
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
708
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
709 40. :args list of arguments
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
710 41. :buffers list of buffers
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
711
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
712 The meaning of [N] depends on the command:
12559
34c8ec888122 Update runtime files
Christian Brabandt <cb@256bit.org>
parents: 12499
diff changeset
713 [N] is the number of buffers to go forward/backward on 2/12/22/32,
34c8ec888122 Update runtime files
Christian Brabandt <cb@256bit.org>
parents: 12499
diff changeset
714 3/13/23/33, and 4/14/24/34
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
715 [N] is an argument number, defaulting to current argument, for 1 and 21
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
716 [N] is a buffer number, defaulting to current buffer, for 11 and 31
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
717 [N] is a count for 19 and 39
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
718
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
719 Note: ":next" is an exception, because it must accept a list of file names
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
720 for compatibility with Vi.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
721
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
722
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
723 The argument list and multiple windows
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
724 --------------------------------------
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
725
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
726 The current position in the argument list can be different for each window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
727 Remember that when doing ":e file", the position in the argument list stays
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
728 the same, but you are not editing the file at that position. To indicate
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
729 this, the file message (and the title, if you have one) shows
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
730 "(file (N) of M)", where "(N)" is the current position in the file list, and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
731 "M" the number of files in the file list.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
732
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
733 All the entries in the argument list are added to the buffer list. Thus, you
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
734 can also get to them with the buffer list commands, like ":bnext".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
735
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
736 :[N]al[l][!] [N] *:al* *:all* *:sal* *:sall*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
737 :[N]sal[l][!] [N]
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
738 Rearrange the screen to open one window for each argument.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
739 All other windows are closed. When a count is given, this is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
740 the maximum number of windows to open.
699
2af8de31a3a8 updated for version 7.0211
vimboss
parents: 685
diff changeset
741 With the |:tab| modifier open a tab page for each argument.
2af8de31a3a8 updated for version 7.0211
vimboss
parents: 685
diff changeset
742 When there are more arguments than 'tabpagemax' further ones
2af8de31a3a8 updated for version 7.0211
vimboss
parents: 685
diff changeset
743 become split windows in the last tab page.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
744 When the 'hidden' option is set, all buffers in closed windows
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
745 become hidden.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
746 When 'hidden' is not set, and the 'autowrite' option is set,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
747 modified buffers are written. Otherwise, windows that have
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
748 buffers that are modified are not removed, unless the [!] is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
749 given, then they become hidden. But modified buffers are
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
750 never abandoned, so changes cannot get lost.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
751 [N] is the maximum number of windows to open. 'winheight'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
752 also limits the number of windows opened ('winwidth' if
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
753 |:vertical| was prepended).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
754 Buf/Win Enter/Leave autocommands are not executed for the new
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
755 windows here, that's only done when they are really entered.
17571
2704c4e3e20a Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 17433
diff changeset
756 If autocommands change the window layout while this command is
2704c4e3e20a Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 17433
diff changeset
757 busy an error will be given. *E249*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
758
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
759 :[N]sa[rgument][!] [++opt] [+cmd] [N] *:sa* *:sargument*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
760 Short for ":split | argument [N]": split window and go to Nth
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
761 argument. But when there is no such argument, the window is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
762 not split. Also see |++opt| and |+cmd|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
763
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
764 :[N]sn[ext][!] [++opt] [+cmd] [file ..] *:sn* *:snext*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
765 Short for ":split | [N]next": split window and go to Nth next
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
766 argument. But when there is no next file, the window is not
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
767 split. Also see |++opt| and |+cmd|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
768
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
769 :[N]spr[evious][!] [++opt] [+cmd] [N] *:spr* *:sprevious*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
770 :[N]sN[ext][!] [++opt] [+cmd] [N] *:sN* *:sNext*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
771 Short for ":split | [N]Next": split window and go to Nth
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
772 previous argument. But when there is no previous file, the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
773 window is not split. Also see |++opt| and |+cmd|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
774
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
775 *:sre* *:srewind*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
776 :sre[wind][!] [++opt] [+cmd]
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
777 Short for ":split | rewind": split window and go to first
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
778 argument. But when there is no argument list, the window is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
779 not split. Also see |++opt| and |+cmd|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
780
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
781 *:sfir* *:sfirst*
168
4d9eabb1396e updated for version 7.0051
vimboss
parents: 140
diff changeset
782 :sfir[st] [++opt] [+cmd]
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
783 Same as ":srewind".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
784
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
785 *:sla* *:slast*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
786 :sla[st][!] [++opt] [+cmd]
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
787 Short for ":split | last": split window and go to last
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
788 argument. But when there is no argument list, the window is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
789 not split. Also see |++opt| and |+cmd|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
790
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
791 *:dr* *:drop*
1702
5232b9862f23 updated for version 7.2-000
vimboss
parents: 1698
diff changeset
792 :dr[op] [++opt] [+cmd] {file} ..
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
793 Edit the first {file} in a window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
794 - If the file is already open in a window change to that
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
795 window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
796 - If the file is not open in a window edit the file in the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
797 current window. If the current buffer can't be |abandon|ed,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
798 the window is split first.
10449
222b1432814e commit https://github.com/vim/vim/commit/5162822914372fc916a93f85848c0c82209e7cec
Christian Brabandt <cb@256bit.org>
parents: 10301
diff changeset
799 - Windows that are not in the argument list or are not full
222b1432814e commit https://github.com/vim/vim/commit/5162822914372fc916a93f85848c0c82209e7cec
Christian Brabandt <cb@256bit.org>
parents: 10301
diff changeset
800 width will be closed if possible.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
801 The |argument-list| is set, like with the |:next| command.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
802 The purpose of this command is that it can be used from a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
803 program that wants Vim to edit another file, e.g., a debugger.
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 810
diff changeset
804 When using the |:tab| modifier each argument is opened in a
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 810
diff changeset
805 tab page. The last window is used if it's empty.
1702
5232b9862f23 updated for version 7.2-000
vimboss
parents: 1698
diff changeset
806 Also see |++opt| and |+cmd|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
807
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
808 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
809 8. Do a command in all buffers or windows *list-repeat*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
810
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
811 *:windo*
6474
a88d4dc02bf4 updated for version 7.4.566
Bram Moolenaar <bram@vim.org>
parents: 6421
diff changeset
812 :[range]windo {cmd} Execute {cmd} in each window or if [range] is given
a88d4dc02bf4 updated for version 7.4.566
Bram Moolenaar <bram@vim.org>
parents: 6421
diff changeset
813 only in windows for which the window number lies in
a88d4dc02bf4 updated for version 7.4.566
Bram Moolenaar <bram@vim.org>
parents: 6421
diff changeset
814 the [range]. It works like doing this: >
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
815 CTRL-W t
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
816 :{cmd}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
817 CTRL-W w
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
818 :{cmd}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
819 etc.
685
d7e33248b9c8 updated for version 7.0206
vimboss
parents: 683
diff changeset
820 < This only operates in the current tab page.
674
4b8583e82cb8 updated for version 7.0201
vimboss
parents: 648
diff changeset
821 When an error is detected on one window, further
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
822 windows will not be visited.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
823 The last window (or where an error occurred) becomes
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
824 the current window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
825 {cmd} can contain '|' to concatenate several commands.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
826 {cmd} must not open or close windows or reorder them.
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
827
7092
64e30831fa42 commit https://github.com/vim/vim/commit/aa23b379421aa214e6543b06c974594a25799b09
Christian Brabandt <cb@256bit.org>
parents: 6951
diff changeset
828 Also see |:tabdo|, |:argdo|, |:bufdo|, |:cdo|, |:ldo|,
64e30831fa42 commit https://github.com/vim/vim/commit/aa23b379421aa214e6543b06c974594a25799b09
Christian Brabandt <cb@256bit.org>
parents: 6951
diff changeset
829 |:cfdo| and |:lfdo|
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
830
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
831 *:bufdo*
6474
a88d4dc02bf4 updated for version 7.4.566
Bram Moolenaar <bram@vim.org>
parents: 6421
diff changeset
832 :[range]bufdo[!] {cmd} Execute {cmd} in each buffer in the buffer list or if
a88d4dc02bf4 updated for version 7.4.566
Bram Moolenaar <bram@vim.org>
parents: 6421
diff changeset
833 [range] is given only for buffers for which their
7924
00d64eb49ce1 commit https://github.com/vim/vim/commit/681baaf4a4c81418693dcafb81421a8614832e91
Christian Brabandt <cb@256bit.org>
parents: 7245
diff changeset
834 buffer number is in the [range]. It works like doing
6474
a88d4dc02bf4 updated for version 7.4.566
Bram Moolenaar <bram@vim.org>
parents: 6421
diff changeset
835 this: >
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
836 :bfirst
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
837 :{cmd}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
838 :bnext
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
839 :{cmd}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
840 etc.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
841 < When the current file can't be |abandon|ed and the [!]
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
842 is not present, the command fails.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
843 When an error is detected on one buffer, further
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
844 buffers will not be visited.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
845 Unlisted buffers are skipped.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
846 The last buffer (or where an error occurred) becomes
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
847 the current buffer.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
848 {cmd} can contain '|' to concatenate several commands.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
849 {cmd} must not delete buffers or add buffers to the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
850 buffer list.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
851 Note: While this command is executing, the Syntax
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
852 autocommand event is disabled by adding it to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
853 'eventignore'. This considerably speeds up editing
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
854 each buffer.
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
855
7092
64e30831fa42 commit https://github.com/vim/vim/commit/aa23b379421aa214e6543b06c974594a25799b09
Christian Brabandt <cb@256bit.org>
parents: 6951
diff changeset
856 Also see |:tabdo|, |:argdo|, |:windo|, |:cdo|, |:ldo|,
64e30831fa42 commit https://github.com/vim/vim/commit/aa23b379421aa214e6543b06c974594a25799b09
Christian Brabandt <cb@256bit.org>
parents: 6951
diff changeset
857 |:cfdo| and |:lfdo|
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
858
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
859 Examples: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
860
24278
4ab4ef0c48b1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 23932
diff changeset
861 :windo set nolist foldcolumn=0 | normal! zn
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
862
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
863 This resets the 'list' option and disables folding in all windows. >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
864
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
865 :bufdo set fileencoding= | update
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
866
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
867 This resets the 'fileencoding' in each buffer and writes it if this changed
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
868 the buffer. The result is that all buffers will use the 'encoding' encoding
24278
4ab4ef0c48b1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 23932
diff changeset
869 (if conversion succeeds).
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
870
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
871 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
872 9. Tag or file name under the cursor *window-tag*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
873
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
874 *:sta* *:stag*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
875 :sta[g][!] [tagname]
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
876 Does ":tag[!] [tagname]" and splits the window for the found
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
877 tag. See also |:tag|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
878
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
879 CTRL-W ] *CTRL-W_]* *CTRL-W_CTRL-]*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
880 CTRL-W CTRL-] Split current window in two. Use identifier under cursor as a
6259
bd18da914be9 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 6230
diff changeset
881 tag and jump to it in the new upper window.
bd18da914be9 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 6230
diff changeset
882 In Visual mode uses the Visually selected text as a tag.
bd18da914be9 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 6230
diff changeset
883 Make new window N high.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
884
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
885 *CTRL-W_g]*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
886 CTRL-W g ] Split current window in two. Use identifier under cursor as a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
887 tag and perform ":tselect" on it in the new upper window.
6259
bd18da914be9 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 6230
diff changeset
888 In Visual mode uses the Visually selected text as a tag.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
889 Make new window N high.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
890
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
891 *CTRL-W_g_CTRL-]*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
892 CTRL-W g CTRL-] Split current window in two. Use identifier under cursor as a
6259
bd18da914be9 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 6230
diff changeset
893 tag and perform ":tjump" on it in the new upper window.
bd18da914be9 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 6230
diff changeset
894 In Visual mode uses the Visually selected text as a tag.
bd18da914be9 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 6230
diff changeset
895 Make new window N high.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
896
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
897 CTRL-W f *CTRL-W_f* *CTRL-W_CTRL-F*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
898 CTRL-W CTRL-F Split current window in two. Edit file name under cursor.
820
57c7403f6599 updated for version 7.0c11
vimboss
parents: 819
diff changeset
899 Like ":split gf", but window isn't split if the file does not
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
900 exist.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
901 Uses the 'path' variable as a list of directory names where to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
902 look for the file. Also the path for current file is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
903 used to search for the file name.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
904 If the name is a hypertext link that looks like
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
905 "type://machine/path", only "/path" is used.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
906 If a count is given, the count'th matching file is edited.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
907
681
9364d114ed8d updated for version 7.0204
vimboss
parents: 674
diff changeset
908 CTRL-W F *CTRL-W_F*
9364d114ed8d updated for version 7.0204
vimboss
parents: 674
diff changeset
909 Split current window in two. Edit file name under cursor and
9364d114ed8d updated for version 7.0204
vimboss
parents: 674
diff changeset
910 jump to the line number following the file name. See |gF| for
9364d114ed8d updated for version 7.0204
vimboss
parents: 674
diff changeset
911 details on how the line number is obtained.
9364d114ed8d updated for version 7.0204
vimboss
parents: 674
diff changeset
912
820
57c7403f6599 updated for version 7.0c11
vimboss
parents: 819
diff changeset
913 CTRL-W gf *CTRL-W_gf*
57c7403f6599 updated for version 7.0c11
vimboss
parents: 819
diff changeset
914 Open a new tab page and edit the file name under the cursor.
57c7403f6599 updated for version 7.0c11
vimboss
parents: 819
diff changeset
915 Like "tab split" and "gf", but the new tab page isn't created
57c7403f6599 updated for version 7.0c11
vimboss
parents: 819
diff changeset
916 if the file does not exist.
57c7403f6599 updated for version 7.0c11
vimboss
parents: 819
diff changeset
917
839
1f3b1021f002 updated for version 7.0e05
vimboss
parents: 834
diff changeset
918 CTRL-W gF *CTRL-W_gF*
1f3b1021f002 updated for version 7.0e05
vimboss
parents: 834
diff changeset
919 Open a new tab page and edit the file name under the cursor
1f3b1021f002 updated for version 7.0e05
vimboss
parents: 834
diff changeset
920 and jump to the line number following the file name. Like
1f3b1021f002 updated for version 7.0e05
vimboss
parents: 834
diff changeset
921 "tab split" and "gF", but the new tab page isn't created if
1f3b1021f002 updated for version 7.0e05
vimboss
parents: 834
diff changeset
922 the file does not exist.
1f3b1021f002 updated for version 7.0e05
vimboss
parents: 834
diff changeset
923
16023
dc766e1b0c95 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
924 CTRL-W gt *CTRL-W_gt*
dc766e1b0c95 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
925 Go to next tab page, same as `gt`.
dc766e1b0c95 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
926
dc766e1b0c95 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
927 CTRL-W gT *CTRL-W_gT*
dc766e1b0c95 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
928 Go to previous tab page, same as `gT`.
dc766e1b0c95 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
929
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
930 Also see |CTRL-W_CTRL-I|: open window for an included file that includes
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
931 the keyword under the cursor.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
932
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
933 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
934 10. The preview window *preview-window*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
935
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
936 The preview window is a special window to show (preview) another file. It is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
937 normally a small window used to show an include file or definition of a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
938 function.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
939 {not available when compiled without the |+quickfix| feature}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
940
731
02c12b042aec updated for version 7.0221
vimboss
parents: 699
diff changeset
941 There can be only one preview window (per tab page). It is created with one
02c12b042aec updated for version 7.0221
vimboss
parents: 699
diff changeset
942 of the commands below. The 'previewheight' option can be set to specify the
02c12b042aec updated for version 7.0221
vimboss
parents: 699
diff changeset
943 height of the preview window when it's opened. The 'previewwindow' option is
02c12b042aec updated for version 7.0221
vimboss
parents: 699
diff changeset
944 set in the preview window to be able to recognize it. The 'winfixheight'
02c12b042aec updated for version 7.0221
vimboss
parents: 699
diff changeset
945 option is set to have it keep the same height when opening/closing other
02c12b042aec updated for version 7.0221
vimboss
parents: 699
diff changeset
946 windows.
17431
ce35cdbe9f74 patch 8.1.1714: cannot preview a file in a popup window
Bram Moolenaar <Bram@vim.org>
parents: 16944
diff changeset
947 *preview-popup*
ce35cdbe9f74 patch 8.1.1714: cannot preview a file in a popup window
Bram Moolenaar <Bram@vim.org>
parents: 16944
diff changeset
948 Alternatively, a popup window can be used by setting the 'previewpopup'
ce35cdbe9f74 patch 8.1.1714: cannot preview a file in a popup window
Bram Moolenaar <Bram@vim.org>
parents: 16944
diff changeset
949 option. When set, it overrules the 'previewwindow' and 'previewheight'
28379
6dd88e45d47d Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 27903
diff changeset
950 settings. The option is a comma-separated list of values:
17431
ce35cdbe9f74 patch 8.1.1714: cannot preview a file in a popup window
Bram Moolenaar <Bram@vim.org>
parents: 16944
diff changeset
951 height maximum height of the popup
17433
ca8e754bdd53 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 17431
diff changeset
952 width maximum width of the popup
17909
cc953757ed2a Runtime files update.
Bram Moolenaar <Bram@vim.org>
parents: 17632
diff changeset
953 highlight highlight group of the popup (default is Pmenu)
17431
ce35cdbe9f74 patch 8.1.1714: cannot preview a file in a popup window
Bram Moolenaar <Bram@vim.org>
parents: 16944
diff changeset
954 Example: >
ce35cdbe9f74 patch 8.1.1714: cannot preview a file in a popup window
Bram Moolenaar <Bram@vim.org>
parents: 16944
diff changeset
955 :set previewpopup=height:10,width:60
17632
5278e5a2a4e3 patch 8.1.1813: ATTENTION prompt for a preview popup window
Bram Moolenaar <Bram@vim.org>
parents: 17571
diff changeset
956
5278e5a2a4e3 patch 8.1.1813: ATTENTION prompt for a preview popup window
Bram Moolenaar <Bram@vim.org>
parents: 17571
diff changeset
957 A few peculiarities:
5278e5a2a4e3 patch 8.1.1813: ATTENTION prompt for a preview popup window
Bram Moolenaar <Bram@vim.org>
parents: 17571
diff changeset
958 - If the file is in a buffer already, it will be re-used. This will allow for
5278e5a2a4e3 patch 8.1.1813: ATTENTION prompt for a preview popup window
Bram Moolenaar <Bram@vim.org>
parents: 17571
diff changeset
959 editing the file while it's visible in the popup window.
5278e5a2a4e3 patch 8.1.1813: ATTENTION prompt for a preview popup window
Bram Moolenaar <Bram@vim.org>
parents: 17571
diff changeset
960 - No ATTENTION dialog will be used, since you can't edit the file in the popup
5278e5a2a4e3 patch 8.1.1813: ATTENTION prompt for a preview popup window
Bram Moolenaar <Bram@vim.org>
parents: 17571
diff changeset
961 window. However, if you later open the same buffer in a normal window, you
5278e5a2a4e3 patch 8.1.1813: ATTENTION prompt for a preview popup window
Bram Moolenaar <Bram@vim.org>
parents: 17571
diff changeset
962 may not notice it's edited elsewhere. And when then using ":edit" to
5278e5a2a4e3 patch 8.1.1813: ATTENTION prompt for a preview popup window
Bram Moolenaar <Bram@vim.org>
parents: 17571
diff changeset
963 trigger the ATTENTION and responding "A" for Abort, the preview window will
5278e5a2a4e3 patch 8.1.1813: ATTENTION prompt for a preview popup window
Bram Moolenaar <Bram@vim.org>
parents: 17571
diff changeset
964 become empty.
5278e5a2a4e3 patch 8.1.1813: ATTENTION prompt for a preview popup window
Bram Moolenaar <Bram@vim.org>
parents: 17571
diff changeset
965
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
966 *:pta* *:ptag*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
967 :pta[g][!] [tagname]
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
968 Does ":tag[!] [tagname]" and shows the found tag in a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
969 "Preview" window without changing the current buffer or cursor
237
73354c21f1e4 updated for version 7.0066
vimboss
parents: 168
diff changeset
970 position. If a "Preview" window already exists, it is re-used
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
971 (like a help window is). If a new one is opened,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
972 'previewheight' is used for the height of the window. See
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
973 also |:tag|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
974 See below for an example. |CursorHold-example|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
975 Small difference from |:tag|: When [tagname] is equal to the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
976 already displayed tag, the position in the matching tag list
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
977 is not reset. This makes the CursorHold example work after a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
978 |:ptnext|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
979
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
980 CTRL-W z *CTRL-W_z*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
981 CTRL-W CTRL-Z *CTRL-W_CTRL-Z* *:pc* *:pclose*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
982 :pc[lose][!] Close any "Preview" window currently open. When the 'hidden'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
983 option is set, or when the buffer was changed and the [!] is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
984 used, the buffer becomes hidden (unless there is another
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
985 window editing it). The command fails if any "Preview" buffer
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
986 cannot be closed. See also |:close|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
987
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
988 *:pp* *:ppop*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
989 :[count]pp[op][!]
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
990 Does ":[count]pop[!]" in the preview window. See |:pop| and
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
991 |:ptag|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
992
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
993 CTRL-W } *CTRL-W_}*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
994 Use identifier under cursor as a tag and perform a :ptag on
237
73354c21f1e4 updated for version 7.0066
vimboss
parents: 168
diff changeset
995 it. Make the new Preview window (if required) N high. If N is
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
996 not given, 'previewheight' is used.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
997
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
998 CTRL-W g } *CTRL-W_g}*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
999 Use identifier under cursor as a tag and perform a :ptjump on
237
73354c21f1e4 updated for version 7.0066
vimboss
parents: 168
diff changeset
1000 it. Make the new Preview window (if required) N high. If N is
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1001 not given, 'previewheight' is used.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1002
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1003 *:ped* *:pedit*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1004 :ped[it][!] [++opt] [+cmd] {file}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1005 Edit {file} in the preview window. The preview window is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1006 opened like with |:ptag|. The current window and cursor
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1007 position isn't changed. Useful example: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1008 :pedit +/fputc /usr/include/stdio.h
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1009 <
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1010 *:ps* *:psearch*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1011 :[range]ps[earch][!] [count] [/]pattern[/]
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1012 Works like |:ijump| but shows the found match in the preview
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1013 window. The preview window is opened like with |:ptag|. The
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1014 current window and cursor position isn't changed. Useful
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1015 example: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1016 :psearch popen
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1017 < Like with the |:ptag| command, you can use this to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1018 automatically show information about the word under the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1019 cursor. This is less clever than using |:ptag|, but you don't
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1020 need a tags file and it will also find matches in system
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1021 include files. Example: >
27903
d19b7aee1925 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 27537
diff changeset
1022 :au! CursorHold *.[ch] ++nested exe "silent! psearch " .. expand("<cword>")
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1023 < Warning: This can be slow.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1024
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1025 Example *CursorHold-example* >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1026
27903
d19b7aee1925 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 27537
diff changeset
1027 :au! CursorHold *.[ch] ++nested exe "silent! ptag " .. expand("<cword>")
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1028
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1029 This will cause a ":ptag" to be executed for the keyword under the cursor,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1030 when the cursor hasn't moved for the time set with 'updatetime'. The "nested"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1031 makes other autocommands be executed, so that syntax highlighting works in the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1032 preview window. The "silent!" avoids an error message when the tag could not
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1033 be found. Also see |CursorHold|. To disable this again: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1034
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1035 :au! CursorHold
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1036
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1037 A nice addition is to highlight the found tag, avoid the ":ptag" when there
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1038 is no word under the cursor, and a few other things: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1039
22171
d4c7b3e9cd17 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 21825
diff changeset
1040 :au! CursorHold *.[ch] ++nested call PreviewWord()
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1041 :func PreviewWord()
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1042 : if &previewwindow " don't do this in the preview window
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1043 : return
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1044 : endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1045 : let w = expand("<cword>") " get the word under cursor
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1046 : if w =~ '\a' " if the word contains a letter
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1047 :
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1048 : " Delete any existing highlight before showing another tag
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1049 : silent! wincmd P " jump to preview window
27903
d19b7aee1925 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 27537
diff changeset
1050 : if &previewwindow " if we really get there...
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1051 : match none " delete existing highlight
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1052 : wincmd p " back to old window
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1053 : endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1054 :
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1055 : " Try displaying a matching tag for the word under the cursor
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1056 : try
27903
d19b7aee1925 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 27537
diff changeset
1057 : exe "ptag " .. w
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1058 : catch
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1059 : return
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1060 : endtry
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1061 :
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1062 : silent! wincmd P " jump to preview window
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1063 : if &previewwindow " if we really get there...
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1064 : if has("folding")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1065 : silent! .foldopen " don't want a closed fold
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1066 : endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1067 : call search("$", "b") " to end of previous line
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1068 : let w = substitute(w, '\\', '\\\\', "")
27903
d19b7aee1925 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 27537
diff changeset
1069 : call search('\<\V' .. w .. '\>') " position cursor on match
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1070 : " Add a match highlight to the word at this position
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1071 : hi previewWord term=bold ctermbg=green guibg=green
27903
d19b7aee1925 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 27537
diff changeset
1072 : exe 'match previewWord "\%' .. line(".") .. 'l\%' .. col(".") .. 'c\k*"'
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1073 : wincmd p " back to old window
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1074 : endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1075 : endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1076 :endfun
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1077
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1078 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1079 11. Using hidden buffers *buffer-hidden*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1080
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1081 A hidden buffer is not displayed in a window, but is still loaded into memory.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1082 This makes it possible to jump from file to file, without the need to read or
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1083 write the file every time you get another buffer in a window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1084
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1085 *:buffer-!*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1086 If the option 'hidden' ('hid') is set, abandoned buffers are kept for all
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1087 commands that start editing another file: ":edit", ":next", ":tag", etc. The
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1088 commands that move through the buffer list sometimes make the current buffer
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1089 hidden although the 'hidden' option is not set. This happens when a buffer is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1090 modified, but is forced (with '!') to be removed from a window, and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1091 'autowrite' is off or the buffer can't be written.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1092
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1093 You can make a hidden buffer not hidden by starting to edit it with any
28843
cd68a630f0d0 Update runtime files and translations
Bram Moolenaar <Bram@vim.org>
parents: 28379
diff changeset
1094 command, or by deleting it with the ":bdelete" command.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1095
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1096 The 'hidden' is global, it is used for all buffers. The 'bufhidden' option
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1097 can be used to make an exception for a specific buffer. It can take these
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1098 values:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1099 <empty> Use the value of 'hidden'.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1100 hide Hide this buffer, also when 'hidden' is not set.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1101 unload Don't hide but unload this buffer, also when 'hidden'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1102 is set.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1103 delete Delete the buffer.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1104
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1105 *hidden-quit*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1106 When you try to quit Vim while there is a hidden, modified buffer, you will
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1107 get an error message and Vim will make that buffer the current buffer. You
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1108 can then decide to write this buffer (":wq") or quit without writing (":q!").
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1109 Be careful: there may be more hidden, modified buffers!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1110
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1111 A buffer can also be unlisted. This means it exists, but it is not in the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1112 list of buffers. |unlisted-buffer|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1113
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1114
6945
957a3bb312fa patch 7.4.791
Bram Moolenaar <bram@vim.org>
parents: 6583
diff changeset
1115 :files[!] [flags] *:files*
957a3bb312fa patch 7.4.791
Bram Moolenaar <bram@vim.org>
parents: 6583
diff changeset
1116 :buffers[!] [flags] *:buffers* *:ls*
957a3bb312fa patch 7.4.791
Bram Moolenaar <bram@vim.org>
parents: 6583
diff changeset
1117 :ls[!] [flags]
957a3bb312fa patch 7.4.791
Bram Moolenaar <bram@vim.org>
parents: 6583
diff changeset
1118 Show all buffers. Example:
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1119
3920
c53344bacabf Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 3465
diff changeset
1120 1 #h "/test/text" line 1 ~
c53344bacabf Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 3465
diff changeset
1121 2u "asdf" line 0 ~
c53344bacabf Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 3465
diff changeset
1122 3 %a + "version.c" line 1 ~
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1123
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1124 When the [!] is included the list will show unlisted buffers
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1125 (the term "unlisted" is a bit confusing then...).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1126
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1127 Each buffer has a unique number. That number will not change,
6583
b0a227941705 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 6474
diff changeset
1128 thus you can always go to a specific buffer with ":buffer N"
b0a227941705 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 6474
diff changeset
1129 or "N CTRL-^", where N is the buffer number.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1130
16859
0154363d3b98 patch 8.1.1431: popup window listed as "Scratch"
Bram Moolenaar <Bram@vim.org>
parents: 16808
diff changeset
1131 For the file name these special values are used:
0154363d3b98 patch 8.1.1431: popup window listed as "Scratch"
Bram Moolenaar <Bram@vim.org>
parents: 16808
diff changeset
1132 [Prompt] |prompt-buffer|
0154363d3b98 patch 8.1.1431: popup window listed as "Scratch"
Bram Moolenaar <Bram@vim.org>
parents: 16808
diff changeset
1133 [Popup] buffer of a |popup-window|
0154363d3b98 patch 8.1.1431: popup window listed as "Scratch"
Bram Moolenaar <Bram@vim.org>
parents: 16808
diff changeset
1134 [Scratch] 'buftype' is "nofile"
0154363d3b98 patch 8.1.1431: popup window listed as "Scratch"
Bram Moolenaar <Bram@vim.org>
parents: 16808
diff changeset
1135 [No Name] no file name specified
0154363d3b98 patch 8.1.1431: popup window listed as "Scratch"
Bram Moolenaar <Bram@vim.org>
parents: 16808
diff changeset
1136 For a |terminal-window| buffer the status is used.
0154363d3b98 patch 8.1.1431: popup window listed as "Scratch"
Bram Moolenaar <Bram@vim.org>
parents: 16808
diff changeset
1137
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1138 Indicators (chars in the same column are mutually exclusive):
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1139 u an unlisted buffer (only displayed when [!] is used)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1140 |unlisted-buffer|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1141 % the buffer in the current window
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1142 # the alternate buffer for ":e #" and CTRL-^
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1143 a an active buffer: it is loaded and visible
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1144 h a hidden buffer: It is loaded, but currently not
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1145 displayed in a window |hidden-buffer|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1146 - a buffer with 'modifiable' off
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1147 = a readonly buffer
12254
8d76a56861ec Update runtime files
Christian Brabandt <cb@256bit.org>
parents: 11763
diff changeset
1148 R a terminal buffer with a running job
8d76a56861ec Update runtime files
Christian Brabandt <cb@256bit.org>
parents: 11763
diff changeset
1149 F a terminal buffer with a finished job
12499
d91cf2e26ef0 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 12254
diff changeset
1150 ? a terminal buffer without a job: `:terminal NONE`
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1151 + a modified buffer
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1152 x a buffer with read errors
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1153
6945
957a3bb312fa patch 7.4.791
Bram Moolenaar <bram@vim.org>
parents: 6583
diff changeset
1154 [flags] can be a combination of the following characters,
957a3bb312fa patch 7.4.791
Bram Moolenaar <bram@vim.org>
parents: 6583
diff changeset
1155 which restrict the buffers to be listed:
957a3bb312fa patch 7.4.791
Bram Moolenaar <bram@vim.org>
parents: 6583
diff changeset
1156 + modified buffers
957a3bb312fa patch 7.4.791
Bram Moolenaar <bram@vim.org>
parents: 6583
diff changeset
1157 - buffers with 'modifiable' off
957a3bb312fa patch 7.4.791
Bram Moolenaar <bram@vim.org>
parents: 6583
diff changeset
1158 = readonly buffers
957a3bb312fa patch 7.4.791
Bram Moolenaar <bram@vim.org>
parents: 6583
diff changeset
1159 a active buffers
7245
8896150aba23 commit https://github.com/vim/vim/commit/e392eb41f8dfc01bd13634e534ac6b4d505326f4
Christian Brabandt <cb@256bit.org>
parents: 7100
diff changeset
1160 u unlisted buffers (overrides the "!")
6945
957a3bb312fa patch 7.4.791
Bram Moolenaar <bram@vim.org>
parents: 6583
diff changeset
1161 h hidden buffers
957a3bb312fa patch 7.4.791
Bram Moolenaar <bram@vim.org>
parents: 6583
diff changeset
1162 x buffers with a read error
957a3bb312fa patch 7.4.791
Bram Moolenaar <bram@vim.org>
parents: 6583
diff changeset
1163 % current buffer
957a3bb312fa patch 7.4.791
Bram Moolenaar <bram@vim.org>
parents: 6583
diff changeset
1164 # alternate buffer
13555
78ead137b2ad patch 8.0.1651: cannot filter :ls output for terminal buffers
Christian Brabandt <cb@256bit.org>
parents: 13268
diff changeset
1165 R terminal buffers with a running job
78ead137b2ad patch 8.0.1651: cannot filter :ls output for terminal buffers
Christian Brabandt <cb@256bit.org>
parents: 13268
diff changeset
1166 F terminal buffers with a finished job
78ead137b2ad patch 8.0.1651: cannot filter :ls output for terminal buffers
Christian Brabandt <cb@256bit.org>
parents: 13268
diff changeset
1167 ? terminal buffers without a job: `:terminal NONE`
18463
18d7337b6837 patch 8.1.2225: the "last used" info of a buffer is under used
Bram Moolenaar <Bram@vim.org>
parents: 18456
diff changeset
1168 t show time last used and sort buffers
6945
957a3bb312fa patch 7.4.791
Bram Moolenaar <bram@vim.org>
parents: 6583
diff changeset
1169 Combining flags means they are "and"ed together, e.g.:
957a3bb312fa patch 7.4.791
Bram Moolenaar <bram@vim.org>
parents: 6583
diff changeset
1170 h+ hidden buffers which are modified
957a3bb312fa patch 7.4.791
Bram Moolenaar <bram@vim.org>
parents: 6583
diff changeset
1171 a+ active buffers which are modified
957a3bb312fa patch 7.4.791
Bram Moolenaar <bram@vim.org>
parents: 6583
diff changeset
1172
9975
03fa8a51e9dc commit https://github.com/vim/vim/commit/e4a3bcf28d92d0bde9ca227ccb40d401038185e5
Christian Brabandt <cb@256bit.org>
parents: 9908
diff changeset
1173 When using |:filter| the pattern is matched against the
03fa8a51e9dc commit https://github.com/vim/vim/commit/e4a3bcf28d92d0bde9ca227ccb40d401038185e5
Christian Brabandt <cb@256bit.org>
parents: 9908
diff changeset
1174 displayed buffer name, e.g.: >
03fa8a51e9dc commit https://github.com/vim/vim/commit/e4a3bcf28d92d0bde9ca227ccb40d401038185e5
Christian Brabandt <cb@256bit.org>
parents: 9908
diff changeset
1175 filter /\.vim/ ls
03fa8a51e9dc commit https://github.com/vim/vim/commit/e4a3bcf28d92d0bde9ca227ccb40d401038185e5
Christian Brabandt <cb@256bit.org>
parents: 9908
diff changeset
1176 <
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1177 *:bad* *:badd*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1178 :bad[d] [+lnum] {fname}
21825
0db0640e16e0 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 20856
diff changeset
1179 Add file name {fname} to the buffer list, without loading it,
0db0640e16e0 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 20856
diff changeset
1180 if it wasn't listed yet. If the buffer was previously
0db0640e16e0 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 20856
diff changeset
1181 deleted, not wiped, it will be made listed again.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1182 If "lnum" is specified, the cursor will be positioned at that
237
73354c21f1e4 updated for version 7.0066
vimboss
parents: 168
diff changeset
1183 line when the buffer is first entered. Note that other
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1184 commands after the + will be ignored.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1185
22840
7c1e2e3f2d8d patch 8.2.1967: the session file does not restore the alternate file
Bram Moolenaar <Bram@vim.org>
parents: 22171
diff changeset
1186 *:balt*
7c1e2e3f2d8d patch 8.2.1967: the session file does not restore the alternate file
Bram Moolenaar <Bram@vim.org>
parents: 22171
diff changeset
1187 :balt [+lnum] {fname}
7c1e2e3f2d8d patch 8.2.1967: the session file does not restore the alternate file
Bram Moolenaar <Bram@vim.org>
parents: 22171
diff changeset
1188 Like `:badd` and also set the alternate file for the current
7c1e2e3f2d8d patch 8.2.1967: the session file does not restore the alternate file
Bram Moolenaar <Bram@vim.org>
parents: 22171
diff changeset
1189 window to {fname}.
7c1e2e3f2d8d patch 8.2.1967: the session file does not restore the alternate file
Bram Moolenaar <Bram@vim.org>
parents: 22171
diff changeset
1190
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1191 :[N]bd[elete][!] *:bd* *:bdel* *:bdelete* *E516*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1192 :bd[elete][!] [N]
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1193 Unload buffer [N] (default: current buffer) and delete it from
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1194 the buffer list. If the buffer was changed, this fails,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1195 unless when [!] is specified, in which case changes are lost.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1196 The file remains unaffected. Any windows for this buffer are
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1197 closed. If buffer [N] is the current buffer, another buffer
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1198 will be displayed instead. This is the most recent entry in
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1199 the jump list that points into a loaded buffer.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1200 Actually, the buffer isn't completely deleted, it is removed
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1201 from the buffer list |unlisted-buffer| and option values,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1202 variables and mappings/abbreviations for the buffer are
6417
77fe94082f53 updated for version 7.4.539
Bram Moolenaar <bram@vim.org>
parents: 6398
diff changeset
1203 cleared. Examples: >
77fe94082f53 updated for version 7.4.539
Bram Moolenaar <bram@vim.org>
parents: 6398
diff changeset
1204 :.,$-bdelete " delete buffers from the current one to
77fe94082f53 updated for version 7.4.539
Bram Moolenaar <bram@vim.org>
parents: 6398
diff changeset
1205 " last but one
77fe94082f53 updated for version 7.4.539
Bram Moolenaar <bram@vim.org>
parents: 6398
diff changeset
1206 :%bdelete " delete all buffers
77fe94082f53 updated for version 7.4.539
Bram Moolenaar <bram@vim.org>
parents: 6398
diff changeset
1207 <
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1208
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1209 :bdelete[!] {bufname} *E93* *E94*
13818
28ac7914b2b6 Update runtime files and translations
Christian Brabandt <cb@256bit.org>
parents: 13555
diff changeset
1210 Like ":bdelete[!] [N]", but buffer given by name, see
28ac7914b2b6 Update runtime files and translations
Christian Brabandt <cb@256bit.org>
parents: 13555
diff changeset
1211 |{bufname}|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1212
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1213 :bdelete[!] N1 N2 ...
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1214 Do ":bdelete[!]" for buffer N1, N2, etc. The arguments can be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1215 buffer numbers or buffer names (but not buffer names that are
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1216 a number). Insert a backslash before a space in a buffer
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1217 name.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1218
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1219 :N,Mbdelete[!] Do ":bdelete[!]" for all buffers in the range N to M
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1220 |inclusive|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1221
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1222 :[N]bw[ipeout][!] *:bw* *:bwipe* *:bwipeout* *E517*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1223 :bw[ipeout][!] {bufname}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1224 :N,Mbw[ipeout][!]
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1225 :bw[ipeout][!] N1 N2 ...
683
a39b8af64334 updated for version 7.0205
vimboss
parents: 681
diff changeset
1226 Like |:bdelete|, but really delete the buffer. Everything
a39b8af64334 updated for version 7.0205
vimboss
parents: 681
diff changeset
1227 related to the buffer is lost. All marks in this buffer
a39b8af64334 updated for version 7.0205
vimboss
parents: 681
diff changeset
1228 become invalid, option settings are lost, etc. Don't use this
6417
77fe94082f53 updated for version 7.4.539
Bram Moolenaar <bram@vim.org>
parents: 6398
diff changeset
1229 unless you know what you are doing. Examples: >
77fe94082f53 updated for version 7.4.539
Bram Moolenaar <bram@vim.org>
parents: 6398
diff changeset
1230 :.+,$bwipeout " wipe out all buffers after the current
77fe94082f53 updated for version 7.4.539
Bram Moolenaar <bram@vim.org>
parents: 6398
diff changeset
1231 " one
77fe94082f53 updated for version 7.4.539
Bram Moolenaar <bram@vim.org>
parents: 6398
diff changeset
1232 :%bwipeout " wipe out all buffers
77fe94082f53 updated for version 7.4.539
Bram Moolenaar <bram@vim.org>
parents: 6398
diff changeset
1233 <
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1234
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1235 :[N]bun[load][!] *:bun* *:bunload* *E515*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1236 :bun[load][!] [N]
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1237 Unload buffer [N] (default: current buffer). The memory
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1238 allocated for this buffer will be freed. The buffer remains
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1239 in the buffer list.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1240 If the buffer was changed, this fails, unless when [!] is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1241 specified, in which case the changes are lost.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1242 Any windows for this buffer are closed. If buffer [N] is the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1243 current buffer, another buffer will be displayed instead.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1244 This is the most recent entry in the jump list that points
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1245 into a loaded buffer.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1246
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1247 :bunload[!] {bufname}
13818
28ac7914b2b6 Update runtime files and translations
Christian Brabandt <cb@256bit.org>
parents: 13555
diff changeset
1248 Like ":bunload[!] [N]", but buffer given by name.
28ac7914b2b6 Update runtime files and translations
Christian Brabandt <cb@256bit.org>
parents: 13555
diff changeset
1249 Also see |{bufname}|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1250
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1251 :N,Mbunload[!] Do ":bunload[!]" for all buffers in the range N to M
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1252 |inclusive|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1253
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1254 :bunload[!] N1 N2 ...
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1255 Do ":bunload[!]" for buffer N1, N2, etc. The arguments can be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1256 buffer numbers or buffer names (but not buffer names that are
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1257 a number). Insert a backslash before a space in a buffer
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1258 name.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1259
6230
7c9abc70ffc1 updated for version 7.4.450
Bram Moolenaar <bram@vim.org>
parents: 5763
diff changeset
1260 :[N]b[uffer][!] [+cmd] [N] *:b* *:bu* *:buf* *:buffer* *E86*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1261 Edit buffer [N] from the buffer list. If [N] is not given,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1262 the current buffer remains being edited. See |:buffer-!| for
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1263 [!]. This will also edit a buffer that is not in the buffer
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1264 list, without setting the 'buflisted' flag.
26438
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 26089
diff changeset
1265 The notation with single quotes does not work here,
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 26089
diff changeset
1266 `:buf 12'345'` uses 12'345 as a buffer name.
7100
f717d96a39b3 commit https://github.com/vim/vim/commit/12969c04fe7bd27dc0cbf37709eb40a86d4a27f9
Christian Brabandt <cb@256bit.org>
parents: 7092
diff changeset
1267 Also see |+cmd|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1268
13818
28ac7914b2b6 Update runtime files and translations
Christian Brabandt <cb@256bit.org>
parents: 13555
diff changeset
1269 :[N]b[uffer][!] [+cmd] {bufname} *{bufname}*
28ac7914b2b6 Update runtime files and translations
Christian Brabandt <cb@256bit.org>
parents: 13555
diff changeset
1270 Edit buffer for {bufname} from the buffer list. A partial
28ac7914b2b6 Update runtime files and translations
Christian Brabandt <cb@256bit.org>
parents: 13555
diff changeset
1271 name also works, so long as it is unique in the list of
28ac7914b2b6 Update runtime files and translations
Christian Brabandt <cb@256bit.org>
parents: 13555
diff changeset
1272 buffers.
28ac7914b2b6 Update runtime files and translations
Christian Brabandt <cb@256bit.org>
parents: 13555
diff changeset
1273 Note that a buffer whose name is a number cannot be referenced
28ac7914b2b6 Update runtime files and translations
Christian Brabandt <cb@256bit.org>
parents: 13555
diff changeset
1274 by that name; use the buffer number instead.
28ac7914b2b6 Update runtime files and translations
Christian Brabandt <cb@256bit.org>
parents: 13555
diff changeset
1275 Insert a backslash before a space in a buffer name.
28ac7914b2b6 Update runtime files and translations
Christian Brabandt <cb@256bit.org>
parents: 13555
diff changeset
1276 See |:buffer-!| for [!].
28ac7914b2b6 Update runtime files and translations
Christian Brabandt <cb@256bit.org>
parents: 13555
diff changeset
1277 This will also edit a buffer that is not in the buffer list,
28ac7914b2b6 Update runtime files and translations
Christian Brabandt <cb@256bit.org>
parents: 13555
diff changeset
1278 without setting the 'buflisted' flag.
7100
f717d96a39b3 commit https://github.com/vim/vim/commit/12969c04fe7bd27dc0cbf37709eb40a86d4a27f9
Christian Brabandt <cb@256bit.org>
parents: 7092
diff changeset
1279 Also see |+cmd|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1280
6230
7c9abc70ffc1 updated for version 7.4.450
Bram Moolenaar <bram@vim.org>
parents: 5763
diff changeset
1281 :[N]sb[uffer] [+cmd] [N] *:sb* *:sbuffer*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1282 Split window and edit buffer [N] from the buffer list. If [N]
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1283 is not given, the current buffer is edited. Respects the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1284 "useopen" setting of 'switchbuf' when splitting. This will
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1285 also edit a buffer that is not in the buffer list, without
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1286 setting the 'buflisted' flag.
7100
f717d96a39b3 commit https://github.com/vim/vim/commit/12969c04fe7bd27dc0cbf37709eb40a86d4a27f9
Christian Brabandt <cb@256bit.org>
parents: 7092
diff changeset
1287 Also see |+cmd|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1288
6230
7c9abc70ffc1 updated for version 7.4.450
Bram Moolenaar <bram@vim.org>
parents: 5763
diff changeset
1289 :[N]sb[uffer] [+cmd] {bufname}
13818
28ac7914b2b6 Update runtime files and translations
Christian Brabandt <cb@256bit.org>
parents: 13555
diff changeset
1290 Split window and edit buffer for |{bufname}| from the buffer
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1291 list. This will also edit a buffer that is not in the buffer
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1292 list, without setting the 'buflisted' flag.
648
9032e4668296 updated for version 7.0189
vimboss
parents: 632
diff changeset
1293 Note: If what you want to do is split the buffer, make a copy
9032e4668296 updated for version 7.0189
vimboss
parents: 632
diff changeset
1294 under another name, you can do it this way: >
9032e4668296 updated for version 7.0189
vimboss
parents: 632
diff changeset
1295 :w foobar | sp #
7100
f717d96a39b3 commit https://github.com/vim/vim/commit/12969c04fe7bd27dc0cbf37709eb40a86d4a27f9
Christian Brabandt <cb@256bit.org>
parents: 7092
diff changeset
1296 < Also see |+cmd|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1297
6230
7c9abc70ffc1 updated for version 7.4.450
Bram Moolenaar <bram@vim.org>
parents: 5763
diff changeset
1298 :[N]bn[ext][!] [+cmd] [N] *:bn* *:bnext* *E87*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1299 Go to [N]th next buffer in buffer list. [N] defaults to one.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1300 Wraps around the end of the buffer list.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1301 See |:buffer-!| for [!].
7100
f717d96a39b3 commit https://github.com/vim/vim/commit/12969c04fe7bd27dc0cbf37709eb40a86d4a27f9
Christian Brabandt <cb@256bit.org>
parents: 7092
diff changeset
1302 Also see |+cmd|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1303 If you are in a help buffer, this takes you to the next help
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1304 buffer (if there is one). Similarly, if you are in a normal
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1305 (non-help) buffer, this takes you to the next normal buffer.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1306 This is so that if you have invoked help, it doesn't get in
237
73354c21f1e4 updated for version 7.0066
vimboss
parents: 168
diff changeset
1307 the way when you're browsing code/text buffers. The next three
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1308 commands also work like this.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1309
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1310 *:sbn* *:sbnext*
6230
7c9abc70ffc1 updated for version 7.4.450
Bram Moolenaar <bram@vim.org>
parents: 5763
diff changeset
1311 :[N]sbn[ext] [+cmd] [N]
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1312 Split window and go to [N]th next buffer in buffer list.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1313 Wraps around the end of the buffer list. Uses 'switchbuf'
7100
f717d96a39b3 commit https://github.com/vim/vim/commit/12969c04fe7bd27dc0cbf37709eb40a86d4a27f9
Christian Brabandt <cb@256bit.org>
parents: 7092
diff changeset
1314 Also see |+cmd|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1315
6230
7c9abc70ffc1 updated for version 7.4.450
Bram Moolenaar <bram@vim.org>
parents: 5763
diff changeset
1316 :[N]bN[ext][!] [+cmd] [N] *:bN* *:bNext* *:bp* *:bprevious* *E88*
7c9abc70ffc1 updated for version 7.4.450
Bram Moolenaar <bram@vim.org>
parents: 5763
diff changeset
1317 :[N]bp[revious][!] [+cmd] [N]
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1318 Go to [N]th previous buffer in buffer list. [N] defaults to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1319 one. Wraps around the start of the buffer list.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1320 See |:buffer-!| for [!] and 'switchbuf'.
7100
f717d96a39b3 commit https://github.com/vim/vim/commit/12969c04fe7bd27dc0cbf37709eb40a86d4a27f9
Christian Brabandt <cb@256bit.org>
parents: 7092
diff changeset
1321 Also see |+cmd|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1322
6230
7c9abc70ffc1 updated for version 7.4.450
Bram Moolenaar <bram@vim.org>
parents: 5763
diff changeset
1323 :[N]sbN[ext] [+cmd] [N] *:sbN* *:sbNext* *:sbp* *:sbprevious*
7c9abc70ffc1 updated for version 7.4.450
Bram Moolenaar <bram@vim.org>
parents: 5763
diff changeset
1324 :[N]sbp[revious] [+cmd] [N]
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1325 Split window and go to [N]th previous buffer in buffer list.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1326 Wraps around the start of the buffer list.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1327 Uses 'switchbuf'.
7100
f717d96a39b3 commit https://github.com/vim/vim/commit/12969c04fe7bd27dc0cbf37709eb40a86d4a27f9
Christian Brabandt <cb@256bit.org>
parents: 7092
diff changeset
1328 Also see |+cmd|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1329
16944
d23afa4d8b63 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 16859
diff changeset
1330 :br[ewind][!] [+cmd] *:br* *:bre* *:brewind*
6230
7c9abc70ffc1 updated for version 7.4.450
Bram Moolenaar <bram@vim.org>
parents: 5763
diff changeset
1331 Go to first buffer in buffer list. If the buffer list is
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1332 empty, go to the first unlisted buffer.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1333 See |:buffer-!| for [!].
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1334
6230
7c9abc70ffc1 updated for version 7.4.450
Bram Moolenaar <bram@vim.org>
parents: 5763
diff changeset
1335 :bf[irst] [+cmd] *:bf* *:bfirst*
7c9abc70ffc1 updated for version 7.4.450
Bram Moolenaar <bram@vim.org>
parents: 5763
diff changeset
1336 Same as |:brewind|.
7c9abc70ffc1 updated for version 7.4.450
Bram Moolenaar <bram@vim.org>
parents: 5763
diff changeset
1337 Also see |+cmd|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1338
6230
7c9abc70ffc1 updated for version 7.4.450
Bram Moolenaar <bram@vim.org>
parents: 5763
diff changeset
1339 :sbr[ewind] [+cmd] *:sbr* *:sbrewind*
7c9abc70ffc1 updated for version 7.4.450
Bram Moolenaar <bram@vim.org>
parents: 5763
diff changeset
1340 Split window and go to first buffer in buffer list. If the
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1341 buffer list is empty, go to the first unlisted buffer.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1342 Respects the 'switchbuf' option.
6230
7c9abc70ffc1 updated for version 7.4.450
Bram Moolenaar <bram@vim.org>
parents: 5763
diff changeset
1343 Also see |+cmd|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1344
6230
7c9abc70ffc1 updated for version 7.4.450
Bram Moolenaar <bram@vim.org>
parents: 5763
diff changeset
1345 :sbf[irst] [+cmd] *:sbf* *:sbfirst*
7c9abc70ffc1 updated for version 7.4.450
Bram Moolenaar <bram@vim.org>
parents: 5763
diff changeset
1346 Same as ":sbrewind".
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1347
6230
7c9abc70ffc1 updated for version 7.4.450
Bram Moolenaar <bram@vim.org>
parents: 5763
diff changeset
1348 :bl[ast][!] [+cmd] *:bl* *:blast*
7c9abc70ffc1 updated for version 7.4.450
Bram Moolenaar <bram@vim.org>
parents: 5763
diff changeset
1349 Go to last buffer in buffer list. If the buffer list is
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1350 empty, go to the last unlisted buffer.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1351 See |:buffer-!| for [!].
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1352
6230
7c9abc70ffc1 updated for version 7.4.450
Bram Moolenaar <bram@vim.org>
parents: 5763
diff changeset
1353 :sbl[ast] [+cmd] *:sbl* *:sblast*
7c9abc70ffc1 updated for version 7.4.450
Bram Moolenaar <bram@vim.org>
parents: 5763
diff changeset
1354 Split window and go to last buffer in buffer list. If the
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1355 buffer list is empty, go to the last unlisted buffer.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1356 Respects 'switchbuf' option.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1357
6230
7c9abc70ffc1 updated for version 7.4.450
Bram Moolenaar <bram@vim.org>
parents: 5763
diff changeset
1358 :[N]bm[odified][!] [+cmd] [N] *:bm* *:bmodified* *E84*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1359 Go to [N]th next modified buffer. Note: this command also
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1360 finds unlisted buffers. If there is no modified buffer the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1361 command fails.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1362
6230
7c9abc70ffc1 updated for version 7.4.450
Bram Moolenaar <bram@vim.org>
parents: 5763
diff changeset
1363 :[N]sbm[odified] [+cmd] [N] *:sbm* *:sbmodified*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1364 Split window and go to [N]th next modified buffer.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1365 Respects 'switchbuf' option.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1366 Note: this command also finds buffers not in the buffer list.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1367
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1368 :[N]unh[ide] [N] *:unh* *:unhide* *:sun* *:sunhide*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1369 :[N]sun[hide] [N]
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1370 Rearrange the screen to open one window for each loaded buffer
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1371 in the buffer list. When a count is given, this is the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1372 maximum number of windows to open.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1373
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1374 :[N]ba[ll] [N] *:ba* *:ball* *:sba* *:sball*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1375 :[N]sba[ll] [N] Rearrange the screen to open one window for each buffer in
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1376 the buffer list. When a count is given, this is the maximum
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1377 number of windows to open. 'winheight' also limits the number
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1378 of windows opened ('winwidth' if |:vertical| was prepended).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1379 Buf/Win Enter/Leave autocommands are not executed for the new
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1380 windows here, that's only done when they are really entered.
1123
c4cd8ad60bee updated for version 7.1a
vimboss
parents: 874
diff changeset
1381 When the |:tab| modifier is used new windows are opened in a
699
2af8de31a3a8 updated for version 7.0211
vimboss
parents: 685
diff changeset
1382 new tab, up to 'tabpagemax'.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1383
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1384 Note: All the commands above that start editing another buffer, keep the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1385 'readonly' flag as it was. This differs from the ":edit" command, which sets
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1386 the 'readonly' flag each time the file is read.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1387
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1388 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1389 12. Special kinds of buffers *special-buffers*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1390
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1391 Instead of containing the text of a file, buffers can also be used for other
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1392 purposes. A few options can be set to change the behavior of a buffer:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1393 'bufhidden' what happens when the buffer is no longer displayed
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1394 in a window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1395 'buftype' what kind of a buffer this is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1396 'swapfile' whether the buffer will have a swap file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1397 'buflisted' buffer shows up in the buffer list
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1398
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1399 A few useful kinds of a buffer:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1400
648
9032e4668296 updated for version 7.0189
vimboss
parents: 632
diff changeset
1401 quickfix Used to contain the error list or the location list. See
9032e4668296 updated for version 7.0189
vimboss
parents: 632
diff changeset
1402 |:cwindow| and |:lwindow|. This command sets the 'buftype'
9032e4668296 updated for version 7.0189
vimboss
parents: 632
diff changeset
1403 option to "quickfix". You are not supposed to change this!
9032e4668296 updated for version 7.0189
vimboss
parents: 632
diff changeset
1404 'swapfile' is off.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1405
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1406 help Contains a help file. Will only be created with the |:help|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1407 command. The flag that indicates a help buffer is internal
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1408 and can't be changed. The 'buflisted' option will be reset
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1409 for a help buffer.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1410
11763
21f3930dfe6e Documentation updates.
Christian Brabandt <cb@256bit.org>
parents: 10449
diff changeset
1411 terminal A terminal window buffer, see |terminal|. The contents cannot
21f3930dfe6e Documentation updates.
Christian Brabandt <cb@256bit.org>
parents: 10449
diff changeset
1412 be read or changed until the job ends.
21f3930dfe6e Documentation updates.
Christian Brabandt <cb@256bit.org>
parents: 10449
diff changeset
1413
140
8ecb0db93e9a updated for version 7.0045
vimboss
parents: 42
diff changeset
1414 directory Displays directory contents. Can be used by a file explorer
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1415 plugin. The buffer is created with these settings: >
632
b6632d553df3 updated for version 7.0182
vimboss
parents: 237
diff changeset
1416 :setlocal buftype=nowrite
b6632d553df3 updated for version 7.0182
vimboss
parents: 237
diff changeset
1417 :setlocal bufhidden=delete
b6632d553df3 updated for version 7.0182
vimboss
parents: 237
diff changeset
1418 :setlocal noswapfile
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1419 < The buffer name is the name of the directory and is adjusted
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1420 when using the |:cd| command.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1421
26089
c544eacaf066 patch 8.2.3578: manipulating highlighting is complicated
Bram Moolenaar <Bram@vim.org>
parents: 25773
diff changeset
1422 *scratch-buffer*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1423 scratch Contains text that can be discarded at any time. It is kept
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1424 when closing the window, it must be deleted explicitly.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1425 Settings: >
632
b6632d553df3 updated for version 7.0182
vimboss
parents: 237
diff changeset
1426 :setlocal buftype=nofile
b6632d553df3 updated for version 7.0182
vimboss
parents: 237
diff changeset
1427 :setlocal bufhidden=hide
b6632d553df3 updated for version 7.0182
vimboss
parents: 237
diff changeset
1428 :setlocal noswapfile
2033
de5a43c5eedc Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents: 1702
diff changeset
1429 < The buffer name can be used to identify the buffer, if you
de5a43c5eedc Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents: 1702
diff changeset
1430 give it a meaningful name.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1431
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1432 *unlisted-buffer*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1433 unlisted The buffer is not in the buffer list. It is not used for
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1434 normal editing, but to show a help file, remember a file name
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1435 or marks. The ":bdelete" command will also set this option,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1436 thus it doesn't completely delete the buffer. Settings: >
632
b6632d553df3 updated for version 7.0182
vimboss
parents: 237
diff changeset
1437 :setlocal nobuflisted
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1438 <
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1439
14519
5c5908e81e93 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 14123
diff changeset
1440 vim:tw=78:ts=8:noet:ft=help:norl: