Domanda

Ho regolarmente imbatto in C-codici senza piegare. E 'irritante per leggerli se non c'è pieghevole, in particolare con i file lunghi. Come posso foldare?

È stato utile?

Soluzione

Per piegare secondo la sintassi

:set foldmethod=syntax

Se si vuole fare manualmente sui bit che si desidera ripiegare

:set foldmethod=manual

quindi creare nuove pieghe selezionando / spostando e premendo ZF per es.

shift-v j j zf

(ignorando gli spazi)

Modifica:. Vedi anche i commenti di questa risposta per il rientro e marcatori foldmethods

Altri suggerimenti

Credo che si può avere mescolato la terminologia. Avete bisogno di "wrapping" o "folding". Avvolgimento è quello in cui le linee che non sarebbe normalmente stanno sullo schermo a causa della loro lunghezza, sono avvolti, cioè dimostrato in più righe consecutive sullo schermo (in realtà, è una linea, in diverse linee - difficile da spiegare, meglio vedere in pratica).

In vim avvolgimento viene impostato da

:set wrap

per accenderlo, e

:set textwidth=80

per determinare dove vim deve andare a capo il testo (80 caratteri è di solito un provvedimento bello).

pieghevole d'altra parte è una questione completamente diversa. È quello in cui vim pieghe diverse linee di codice (per esempio, una funzione) in una riga di codice. E 'utile per aumentare la leggibilità del codice. Vim ha diversi metodi di piegatura, è possibile vedere tutti loro se si

:help folding

Quello che state cercando, penso che sarebbe, sintassi pieghevole, ma potrei sbagliarmi. Mi raccomando di leggere la pagina di aiuto, non è lunga, e molto utile.

ho arrotolato un piegare plug-in per la C e C ++ . Va oltre ciò che è fatto con la sintassi pieghevole (può essere che potrebbe essere migliorata, non so), e lascia meno rumoroso e non le cose realmente utili spiegati, rispetto al rientro e piegatura a base marcatore.

L'avvertenza:. Al fine di avere tempi di reazione decente, ho dovuto fare alcune semplificazioni, e, talvolta, il risultato è abbastanza incasinata (dobbiamo digitare zx per risolvere il problema)

Ecco un piccolo screencast per vedere come il plugin piega un codice correttamente bilanciata C ++ fonte, che non è attualmente in corso di modifica: (

entrare descrizione dell'immagine qui

Nel VI (al contrario di vim) la risposta è stata:

:set wm=1

Questa imposta il margine involucro a un carattere prima della fine della linea. Questo non è più specifica al mondo con finestre di dimensioni variabili (aveva un senso con gli schermi verdi quando era difficile cambiare le dimensioni).

Ciò significa che v'è anche un modo alternativo per farlo in vim:

:set textwidth=30

Si veda: Manuale VimDoc utente Sezione 25.1

La probabilmente si desidera l'impostazione

:set foldmethod=syntax

Ma non che mettere in mano! Quello è rinunciare a una delle più grandi VIMS caratteristiche che sta avendo impostazioni personalizzate per centinaia di tipi di file già precompilate. Per ottenere questo, aggiungere questo al tuo ~ / .vimrc

filetype plugin on
filetype indent on

rilevazione del tipo di file si basa soprattutto sulla estensione, in questo caso i file * .c. Vedi: help: tipo di file per ulteriori informazioni. È inoltre possibile personalizzare queste impostazioni tipo di file based.

In realtà, c'è un altro modo molto semplice ed efficace, che sta utilizzando foldmethod = marker e impostare foldmarker essere {,}. Poi il risultato piega avrebbe appare come:

  1. tutte le funzioni piega-ed. In sostanza, sembra che la struttura in IDE. (E si può anche set foldlevel=1or di più, se non si vuole piegare tutto all'inizio)

entrare descrizione dell'immagine qui

  1. questo è ciò che una normale funzione sembra quando lo si apre con il livello-1 tramite zo.

entrare descrizione dell'immagine qui

In aggiunta, per fare piegare dalla sintassi ha bisogno di un po 'di lavoro in più, e qui è un buon esercitazione su di esso. Ma penso che piega da marker={,} è più che sufficiente, e per di più, è semplice e pulito.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top