Как мне получить NERDCommenter для добавления комментариев в определенный столбец? - PullRequest
7 голосов
/ 24 января 2012

NERDCommenter по умолчанию работает так:

//level1
    //level2
        //level3

Как мне работать так?

//level1
//    level2
//        level3

Ответы [ 2 ]

9 голосов
/ 24 января 2012

Из документации :

[count]<leader>cl  
[count]<leader>cb    |NERDComAlignedComment|  

То же, что и | NERDComComment | за исключением того, что разделители выровнены вниз левая сторона (кл) или обе стороны (кб).

4 голосов
/ 17 октября 2015

Можно изменить стандартное поведение ToggleComment (<leader>c<space>) для использования выравнивания по левому краю. Однако это означает изменение двух строк в $vimfiles/bundle/nerdcommenter/plugin/NERDCommenter.vim (при условии обычной установки патогена для управления плагинами).

Найти определение функции function s:CommentLinesToggle. В качестве первой строки добавьте следующее, чтобы определить правильный индекс отступа:

let leftAlignIndx = s:LeftMostIndx(a:forceNested, 0, a:firstLine, a:lastLine).

Теперь вы можете использовать этот индекс для настройки выравнивания комментариев. Для этого измените строку:

let theLine = s:AddLeftDelim(s:Left({'space': 1}), theLine) до
let theLine = s:AddLeftDelimAligned(s:Left({'space': 1}), theLine, leftAlignIndx).

Готово. Переключение комментариев теперь дает вам:

for i in range(10):
    #if i / 2 == 0:
    #    print "Ciao"
print "finito"
...