Skip to content

Instantly share code, notes, and snippets.

@buwilliams
Created January 14, 2026 16:30
Show Gist options
  • Select an option

  • Save buwilliams/0b06e61aff94aa9c62dfa7b62e379d0b to your computer and use it in GitHub Desktop.

Select an option

Save buwilliams/0b06e61aff94aa9c62dfa7b62e379d0b to your computer and use it in GitHub Desktop.
Vim Cheatsheet (explore, splits, and buffers)

Vim Splits, Netrw & Buffers Cheatsheet

Open the File Explorer

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)

Navigate in Netrw

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

Open Files from Netrw into Another Split

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

Buffer Management

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

Buffer Indicators in :ls Output

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)

Move Between Splits

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

Resize Splits

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

Close Splits

Key Description
:q Close current split
Ctrl+w c Close current window (buffer stays open)
Ctrl+w o Close all other splits

Working with Buffers in 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

Typical Workflow

  1. Open your project: vim .
  2. Browse to a file: j/k to navigate, Enter to open
  3. Open vertical explorer: :Vex
  4. Find another file: navigate with j/k/-
  5. Open in edit window: P (opens in previous split)
  6. Switch to edit window: Ctrl+w l (or Ctrl+w p)
  7. Edit, save: :w
  8. Check open buffers: :ls
  9. Switch buffers: :b {name or number}
  10. Toggle last two files: Ctrl+^
  11. Return to explorer: Ctrl+w h (or Ctrl+w p)
  12. Close explorer: Ctrl+w h then :q

Useful Settings

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment