Vim Tips Wiki

Visual selection of indent block

Revision as of 23:44, September 29, 2008 by JohnBot (Talk | contribs)

1,619pages on
this wiki
Tip 1014 Printable Monobook Previous Next

created October 8, 2005 · complexity basic · author Robert Schols · version 5.7

This command will make a visual selection of the lines that have the same indent level or more as the current line.

:exe "normal V" | let temp_var=indent(line(".")) | while indent(line(".")+1) >= temp_var | exe "normal j" | endwhile


A slight modification, to select the area above the cursor position as well, and the whole thing wrapped in a function (and nmapped to <Space>):

function! SelectIndent ()
  let temp_var=indent(line("."))
  while indent(line(".")-1) >= temp_var
    exe "normal k"
  exe "normal V"
  while indent(line(".")+1) >= temp_var
    exe "normal j"
nmap <Space> :call SelectIndent()<CR>

Currently, I just set foldmethod=indent and select the folded area.

Around Wikia's network

Random Wiki