| Command | Description |
|---|---|
:Ex |
Open explorer in current window |
:Sex |
Open explorer in horizontal split |
:Vex |
Open explorer in vertical split (left) |
:Vex! |
Open explorer in vertical split (right) |
| Key | Description |
|---|---|
j/k |
Move up/down the file list |
Enter |
Open directory / open file in current window |
- |
Go up to parent directory |
D |
Delete file/directory |
R |
Rename file |
% |
Create new file |
| Key | Description |
|---|---|
P |
Open in previous window (most useful!) |
o |
Open in new horizontal split |
v |
Open in new vertical split |
t |
Open in new tab |
| Command | Description |
|---|---|
:ls |
List all open buffers |
:buffers |
Same as :ls |
:b {n} |
Switch to buffer number n |
:b {name} |
Switch to buffer by partial filename |
:bn |
Next buffer |
:bp |
Previous buffer |
:bf |
First buffer |
:bl |
Last buffer |
:bd |
Close current buffer (buffer delete) |
:bd {n} |
Close buffer number n |
:bufdo {cmd} |
Run command on all buffers |
:e filename |
Open file into a new buffer |
| Symbol | Meaning |
|---|---|
% |
Current buffer (visible in current window) |
# |
Alternate buffer (switch with Ctrl+^) |
a |
Active (loaded and visible) |
h |
Hidden (loaded but not visible) |
+ |
Modified (unsaved changes) |
| Key | Description |
|---|---|
Ctrl+w h |
Move to left split |
Ctrl+w l |
Move to right split |
Ctrl+w j |
Move to split below |
Ctrl+w k |
Move to split above |
Ctrl+w w |
Cycle through splits |
Ctrl+w p |
Go to previous (last accessed) split |
| Key | Description |
|---|---|
Ctrl+w > |
Increase width |
Ctrl+w < |
Decrease width |
Ctrl+w + |
Increase height |
Ctrl+w - |
Decrease height |
Ctrl+w = |
Equalize all splits |
Ctrl+w | |
Maximize width |
Ctrl+w _ |
Maximize height |
| Key | Description |
|---|---|
:q |
Close current split |
Ctrl+w c |
Close current window (buffer stays open) |
Ctrl+w o |
Close all other splits |
| Command | Description |
|---|---|
:sb {n} |
Open buffer n in horizontal split |
:vert sb {n} |
Open buffer n in vertical split |
Ctrl+^ |
Toggle between current and alternate (#) buffer |
:ball |
Open all buffers in splits |
:vert ball |
Open all buffers in vertical splits |
- Open your project:
vim . - Browse to a file:
j/kto navigate,Enterto open - Open vertical explorer:
:Vex - Find another file: navigate with
j/k/- - Open in edit window:
P(opens in previous split) - Switch to edit window:
Ctrl+w l(orCtrl+w p) - Edit, save:
:w - Check open buffers:
:ls - Switch buffers:
:b {name or number} - Toggle last two files:
Ctrl+^ - Return to explorer:
Ctrl+w h(orCtrl+w p) - Close explorer:
Ctrl+w hthen:q
Add to your .vimrc:
" Netrw settings
let g:netrw_banner = 0 " Hide the banner
let g:netrw_liststyle = 3 " Tree view
let g:netrw_winsize = 25 " Explorer takes 25% width
let g:netrw_browse_split = 4 " Open files in previous window
" Buffer settings
set hidden " Allow switching buffers without saving
set confirm " Prompt to save on :q if unsaved changes