Inizialmente, utilizzo il set foldmethod = marker e sposta il cursore su {di una funzione, usa lo zf% per piegare la funzione corrente. Ma ci sono molte funzioni in questo file. Come posso piegare tutte le funzioni in questo file? E non voglio piegare {} nelle funzioni.Come posso piegare automaticamente tutte le funzioni in un file con vim?
risposta
Se si dispone di :set foldmethod=syntax
le pieghe verranno specificate dalle definizioni di sintassi. Se preferisci puoi :set foldmethod=indent
per far rientrare il rientro nelle pieghe.
È possibile chiudere tutte le pieghe con zM
. Se hai fold nidificati e vuoi passare livello per livello, usa zm
. Per aprire le pieghe utilizzare zR
(tutto) e zr
(livello per livello).
Penso che tu abbia frainteso il mio significato. In un primo momento, ho bisogno di impostare la piega per ogni funzione. Voglio solo sapere come impostare la piega per tutte le funzioni nel primo tempo. –
@Yongwei: ok, penso di averlo capito ora. Questo è quello che volevi? –
zR e zm non funzionano dopo aver impostato foldmethod = sintassi –
Se ogni funzione ha la sua parentesi graffa aperta sulla prima colonna si potrebbe fare:
:%g/^{/normal! zf%
Forse è più chiaro in questo modo:
:%g /^{/ normal! zf%
il comando g
seleziona linee secondo il seguente pattern ed esegue un comando ex (qui normal!
per riprodurre i tasti in modalità normale).
Vedi :help :g
e :help :normal
Io uso questo - grazie tuttavia come si può evitare di piegare attraverso le funzioni? sembra che non siano solo le funzioni – serup
mi sono imbattuto in questo quando ero alla ricerca di una cosa simile. Ovviamente lo avresti già capito, ma a beneficio di altre persone risponderò comunque.
è necessario mettere le seguenti righe nel tuo Vimrc:
set foldmethod=syntax
set foldnestmax=1
set foldlevel=0
sarà piegare tutto fin dall'inizio, quello che viene ment essere piegato. A seconda della lingua e della funzione di piegatura, il contenuto della piegatura può variare.
'zM' fare la stessa cosa. – MOHRE
Prova :%g/\(function\_.\{-}\)\@<={/ normal! f{zf%
Spiegate a poco a poco:
:%g
- cercare globaly in un intero file
/\(function\_.\{-}\)\@<={/
- modello per trovare prima '{' dopo ogni 'funzione' e mettere il cursore sulla iniziare di stringa con quello '{'
normal! f{zf%
- eseguire in avanti a '{' f{
e fare piega con mossa '%' zf%
su tha t stringa
non è riuscito a far funzionare il tuo comando - forse mostra le funzioni di esempio – serup
stavo cercando di fare lo stesso e ha finito per fare semplicemente:
setlocal foldmethod=marker
setlocal foldmarker={,}
usa il metodo piega marcatore e cambia il marcatore in una singola parentesi graffa (per impostazione predefinita il marcatore è {{{
).
Mi è piaciuto molto, molto utile! Ma dovrei dividere le linee che chiudono una parentesi e ne aprono un'altra (come "} else {") –
- 1. Come posso piegare correttamente le funzioni GNU C in Vim?
- 2. nascondi VIM (non piegare!) Linee
- 3. In vim, come posso eliminare tutte le righe in un file tranne le ultime 100 righe?
- 4. Come posso estrarre tutte le classi in un file separato?
- 5. Restituisce tutte le funzioni definite in un file Javascript
- 6. Taglia automaticamente le barre inverse in vim
- 7. Come posso inizializzare automaticamente tutte le variabili scalari in Perl?
- 8. Come posso ottenere Vim per mettere automaticamente le parentesi graffe?
- 9. Nel file .cpp, c'è un modo per implementare automaticamente tutte le funzioni dal suo .h?
- 10. Impedire a Eclipse di piegare automaticamente le istruzioni di importazione
- 11. Vim: evidenzia tutte le partite in incsearch
- 12. Come posso impostare l'intestazione http per tutte le funzioni capybara
- 13. Come trovare tutte le occorrenze di una variabile in Vim?
- 14. Piegare un div con CSS
- 15. Python: Sphinx: Come includere automaticamente tutte le classi, metodi e funzioni in una documentazione sfinge?
- 16. Come ricaricare tutte le finestre vim in una sola volta?
- 17. come caricare automaticamente le funzioni definite dall'utente in matematica
- 18. Come aggiornare automaticamente il file di tag in vim?
- 19. rimuovere tutte le variabili tranne le funzioni
- 20. Sostituisci tutte le istanze di carattere tra tag con vim
- 21. Come posso ottenere tutte le immagini da un file qrc?
- 22. Come cercare tutte le parole maiuscole in vim?
- 23. Come posso personalizzato rientrare un file con vim?
- 24. Come registrare tutte le query di Doctrine in un file?
- 25. Elenca tutte le funzioni integrate in javascript?
- 26. Come posso modificare la codifica di un file con vim?
- 27. Posso trasporre un file in Vim?
- 28. Come elencare tutte le variabili di ambiente in Vim?
- 29. Cattura automaticamente tutte le eccezioni non gestite con WebService
- 30. In Erlang come posso importare tutte le funzioni da un modulo?
Le distribuzioni vim di FYI vengono di solito fornite con la guida incorporata. Se digiti ': help fold' puoi vedere tutte le cose relative alle pieghe. –
Dovrai aggiungere la lingua che ti interessa (non tutte le lingue hanno {} per cominciare!); piegare in Vim è un argomento a sé stante. – Rook