How do I get NERDCommenter to add comments in a particular column?

前端 未结 2 490
孤街浪徒
孤街浪徒 2021-01-12 03:38

NERDCommenter works like this by default:

//level1
    //level2
        //level3

How do I get to work like this?

//level1
/         


        
2条回答
  •  隐瞒了意图╮
    2021-01-12 04:05

    It is possible to change the default behaviour of ToggleComment (c) 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"
    

提交回复
热议问题