2009-10-16 2 views
24

Più volte vedo ^L in codici sorgente (per lo più Emacs Lisp) che sembrano separatori di gruppi logici più grandi. È il loro vero scopo? E se sì, come posso usarli? Esiste una funzionalità integrata di Emacs che la utilizza?Cosa significa^L in (Emacs Lisp) codice sorgente?

+0

Nessuna delle risposte ha indicato che '^ L' è solo il valore predefinito. È possibile impostare una regexp 'locale delimitatore di pagina 'buffer-locale su tutto ciò che si desidera, per ottenere la funzionalità di navigazione della pagina utilizzando un valore personalizzato. – phils

risposta

25

Questo è un page break.

[...]

Un'interruzione di pagina può essere utilizzato anche per una separazione logica di sezioni di codice sorgente. Emacs ha comandi e combinazioni di tasti che utilizzano interruzioni di pagina, ad esempio ‘forward-page’ (C-x ] o C-]), ‘all'indietro pagina’ (C-x [ o C-[), e 'stretta a pagine' (C-x n p). Altre funzioni, come ad esempio 'mark-page', operano sul contenuto di una pagina. Vedi anche PageMode.

+7

Altrimenti noto come carattere FORM-FEED per le persone che ricordano le stampanti di linea. – pavium

+0

Btw, sono anche in RFC (in .txts), ma Firefox non li mostra. –

2

Questo è in effetti un carattere di interruzione di pagina, che sulle stampanti di linea precedenti saltava alla pagina successiva o al foglio. Dal punto di vista del codice, non fa nulla; è solo lì per dividere il codice in sezioni più grandi. Ci sono comodi comandi Emacs per saltare alla "pagina" successiva e precedente, e l'inserimento di questi personaggi ne approfitta. Comandi

34

L'Emacs backward-page e forward-page (C-x [ e C-x ]), tra gli altri, sfruttare ^L s posizionati nel codice come separatori.

L'abitudine non si propaga molto in lingue diverse da Emacs-lisp, ma la maggior parte delle lingue trattano lo ^L come spazio vuoto, quindi puoi usare questi separatori nella tua lingua preferita se ti piace l'idea. È possibile digitare il proprio ^L s con C-q C-l.

6

Quando esplorando un grosso file con più di queste "pagine" la funzione "stretta-to-page" (C-x n p) è a portata di mano: si nasconde tutto non nella pagina corrente. Quindi, ad esempio, la ricerca di un nome di funzione per vedere i chiamanti porta solo alle corrispondenze in quella sezione, quindi puoi davvero concentrarti sulla comprensione della regione ristretta.

Utilizzare widen (C-x nw) per visualizzare di nuovo l'intero file.

4

Vedere anche Pretty Control-L se si desidera modificare la modalità di visualizzazione dei caratteri Control-l, ad esempio utilizzare una linea evidenziata anziché solo ^L.