Comprimi i commenti e tutte le funzioni in vim/gvim
Domanda
Sono un utente alle prime armi con Vim e non sono riuscito a trovare su Internet come comprimere le funzioni e ho capito come comprimere l'elenco degli argomenti in C con zfa} e zfa).ma non riesco a capire come comprimere le sezioni dei commenti.Come lo faccio?
Seconda domanda ma correlata, esiste un modo per comprimere tutte le funzioni/elenchi di argomenti/commenti in un file contemporaneamente?
Soluzione
La funzionalità ti riferisci si chiama "folding" (vedi :help usr_28
). Il z f comando viene usato per creare manualmente una piega e viene utilizzato solo se l'opzione foldmethod
è impostato su "marker" o "manuale". Negli esempi hai dato, si sta creando pieghe sopra le regioni determinate dalle a}
e a)
oggetti di testo (vedi :help usr_4.8
).
Per C, è possibile setlocal foldmethod=syntax
e le regioni di piegatura sarà determinato automaticamente dalle regole di sintassi. Questo dovrebbe essere fatto solo per i file C da ciascuna mettendo l'impostazione in ~/.vim/ftplugin/c.vim
o di mettere il seguente autocmd nel ~/.vimrc
.
autocmd FileType c setlocal foldmethod=syntax
NB. sia di quelli che richiedono il rilevamento tipofile è abilitato (filetype on
), e la soluzione ftplugin richiede che filetype plugin sono abilitati (filetype plugin on
). Quest'ultimo è un superset del primo, in modo da non hanno bisogno di entrambi i comandi nella vostra ~/.vimrc
.
Come per l'apertura / chiusura di tutte le piegature nel buffer corrente, questi sono il z R e z M rispettivamente.
Altri suggerimenti
Aggiungi le seguenti impostazioni a ~/.gvimrc:
"folding settings
set foldmethod=indent "fold based on indent
set foldnestmax=10 "deepest fold is 10 levels
set nofoldenable "dont fold by default
set foldlevel=1 "this is just what i use
Quindi puoi attivare o disattivare la piegatura con za.Puoi piegare tutto con zM e aprire tutto con zR.zm e zr possono essere usati per ottenere quelle pieghe giuste.Ricorda sempre l'onnipotente file di aiuto in "help:folding" se rimani bloccato.
Supponendo di aver impostato le regioni piega come vuoi, impostare foldlevel
al livello desiderato.