Skip to content

Vim editing for Clojure developersλ︎

Vim keybindings that drive Vim editing tools that are common for developers

Comments and Commenting codeλ︎

g c c comment line

SPC ; ; comment current line

SPC ; p comment current paragraph / code structure

v (select) g c comment region

g c 9 j comment 9 lines from current, downwards

SPC v v g c select line and comment it

Simulated structural editing with surroundλ︎

Keybinding Description
v s ] surround with [characters] without spaces
v s [ surround with [ characters ] without spaces
c s ( [ change surrounding from ( to [
c i ( change in (
c a ( change “around” (
% jump forwards to next paren, further % toggles between open and close parens.
x p transpose characters (cut current, paste after)

multi-replace with iedit and narrowingλ︎

SPC v select whatever you're at. Press v to widen region and S-v to narrow region.

zt, zz, and zb to pull the current line to the top/middle/bottom of the screen.

[count]G jump to line number

gf jump to file name under the cursor - try this in the file

C-] Jump to definition of keyword under the cursor


g Dopen definition in another window

= (code-aware indenting) operator. Nice with the ap (a paragraph) text object.

code foldingλ︎

zc and zo are useful to close and open folds, which can be a nice way of focusing on certain pieces of code.

Transposing characters and sectionsλ︎

x p simple transpose of the current and next character

M-t transpose words before and after cursor position

{, } motions jump to next and previous empty lines. This motion makes it simple to rearrange paragraphs

{ d } will kill the paragraph (or multiple paragraphs)

{ will jump to the start of the previous paragraph

p pastes the killed paragraph before the current paragraph

> and < (indent and dedent) operators, useful with the aforementioned }/{ motions.