NERDCommenter works like this by default:
//level1
//level2
//level3
How do I get to work like this?
//level1
/
From the documentation:
[count]<leader>cl
[count]<leader>cb |NERDComAlignedComment|
Same as |NERDComComment| except that the delimiters are aligned down the left side (cl) or both sides (cb).
It is possible to change the default behaviour of ToggleComment (<leader>c<space>
) to use left alignment. However this means changing two lines in $vimfiles/bundle/nerdcommenter/plugin/NERDCommenter.vim
(assuming the usual pathogen setup for managing plugins).
Find the definition of function function s:CommentLinesToggle
. As the first line add the following to determine the correct indentation index:
let leftAlignIndx = s:LeftMostIndx(a:forceNested, 0, a:firstLine, a:lastLine)
.
You can now use this index for setting the comment alignment. For this change the line:
let theLine = s:AddLeftDelim(s:Left({'space': 1}), theLine)
to
let theLine = s:AddLeftDelimAligned(s:Left({'space': 1}), theLine, leftAlignIndx)
.
Done. Toggling comments now gives you:
for i in range(10):
#if i / 2 == 0:
# print "Ciao"
print "finito"