Ad blocker interference detected!
Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers
Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.
created 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" endwhile exe "normal V" while indent(line(".")+1) >= temp_var exe "normal j" endwhile endfun nmap <Space> :call SelectIndent()<CR>
Currently, I just
:set foldmethod=indent and select the folded area.
I believe this function might be better.
function SelectIndent() let cur_line = line(".") let cur_ind = indent(cur_line) let line = cur_line while indent(line - 1) >= cur_ind let line = line - 1 endw exe "normal " . line . "G" exe "normal V" let line = cur_line while indent(line + 1) >= cur_ind let line = line + 1 endw exe "normal " . line . "G" endfunction nnoremap vip :call SelectIndent()<CR>
--February 23, 2013