
Die folgende Funktion dient ~/.vimrc
zum Auskommentieren der C-Zeile und funktioniert einwandfrei.
function CLC()
execute "normal ^i/*\<ESC>$a*/\<ESC>"
endfunction
Aber ich habe zwei Fragen...
1. Wie kann ich es auskommentieren?Reichweitevon Zeilen.
2. Wie kann ich sie wie folgt auskommentieren:
/*
* multiline
* comment
*
*/
Ich weiß, dass es das Plugin NERDCommenter gibt, das beides für mich erledigen würde, aber eine der Zuordnungen steht im Konflikt mit der Zuordnung eines anderen Plugins, das ich habe.
Antwort1
:help NERDComMappings
erklärt Ihnen, wie Sie die Standardzuordnungen von NERDCommenter ändern. Geben Sie beispielsweise Folgendes in Ihr ein, ~/.vimrc
um das Zuordnungspräfix in Folgendes zu ändern <Leader>C
:
nmap <Leader>Cc <Plug>NERDCommenterComment
xmap <Leader>Cc <Plug>NERDCommenterComment
nmap <Leader>C<Space> <Plug>NERDCommenterToggle
xmap <Leader>C<Space> <Plug>NERDCommenterToggle
nmap <Leader>Cm <Plug>NERDCommenterMinimal
xmap <Leader>Cm <Plug>NERDCommenterMinimal
nmap <Leader>Cs <Plug>NERDCommenterSexy
xmap <Leader>Cs <Plug>NERDCommenterSexy
nmap <Leader>Ci <Plug>NERDCommenterInvert
xmap <Leader>Ci <Plug>NERDCommenterInvert
nmap <Leader>Cy <Plug>NERDCommenterYank
xmap <Leader>Cy <Plug>NERDCommenterYank
nmap <Leader>Cl <Plug>NERDCommenterAlignLeft
xmap <Leader>Cl <Plug>NERDCommenterAlignLeft
nmap <Leader>Cb <Plug>NERDCommenterAlignBoth
xmap <Leader>Cb <Plug>NERDCommenterAlignBoth
nmap <Leader>Cn <Plug>NERDCommenterNest
xmap <Leader>Cn <Plug>NERDCommenterNest
nmap <Leader>Cu <Plug>NERDCommenterUncomment
xmap <Leader>Cu <Plug>NERDCommenterUncomment
nmap <Leader>C$ <Plug>NERDCommenterToEOL
xmap <Leader>C$ <Plug>NERDCommenterToEOL
nmap <Leader>CA <Plug>NERDCommenterAppend
xmap <Leader>CA <Plug>NERDCommenterAppend
nmap <Leader>ca <Plug>NERDCommenterAltDelims
Antwort2
Sexy C-Kommentarmodus
Linienbereiche funktionieren standardmäßig nur mit visueller Auswahl + <leader>cc
, getestet unter 2.5.2.
Vor allem aber möchte ich in dieser Antwort die Kommentare im „Sexy-Modus“ mit hervorheben <leader>cs
, der nette mehrzeilige C-Kommentare generiert.
Wenn Sie beispielsweise mit Folgendem beginnen:
This is a c style sexy comment
So there!
<leader>cs
und wandelt es dann anhand der visuellen Auswahl in Folgendes um:
/* This is a c style sexy comment
* So there! */
Und Sie können auch in den nicht-kompakten Modus wechseln, indem Sie Folgendes hinzufügen .vimrc
:
let g:NERDCompactSexyComs = 0
Das funktioniert wie folgt:
------------------------------------------------------------------------------
*'NERDCompactSexyComs'*
Values: 0 or 1.
Default 0.
Some people may want their sexy comments to be like this: >
/* Hi There!
* This is a sexy comment
* in c */
<
As opposed to like this: >
/*
* Hi There!
* This is a sexy comment
* in c
*/
Ein weiteres verwandtes Format, das von Interesse sein könnte, ist die „Minimal Comment Map“, auf die zugegriffen werden kann <leader>cm
und die Folgendes erzeugt:
/* Hi There!
This is a sexy comment
in C */
Meinen Wunschstil konnte ich leider nicht finden:
/* Hi There!
* This is a sexy comment
* in c
*/
also öffnete ich:https://github.com/scrooloose/nerdcommenter/issues/379