Espandere la sottostruttura in modalità org con puntini di sospensione dopo i puntini di sospensione?


10

Adoro la modalità org, ma una delle cose che mi ha sempre infastidito è che, se il punto è dopo l'ellissi di una sottostruttura collassata, la pressione TABnon la espande. Ad esempio, se il punto è qui (rappresentato da |):

* Grandiose Plans
** Save the world...|
** Colonize Mars...

... e premo TAB, non succede nulla. Invece, devo mettere il punto qui:

* Grandiose Plans
** Save the world|...
** Colonize Mars...

... e poi posso espandere la sottostruttura.

Si noti che l'utilizzo C-eper spostare il cursore alla fine di un'intestazione non risolve questo comportamento, ma solo aggirarlo. Ad esempio, guarda questo albero:

* Long level one heading foo bar baz fizz buzz|...
** Shorter level two heading...

Il punto è alla fine della prima intestazione. Se premo la freccia giù o C-nper spostarmi lungo una linea, il punto sarà qui:

* Long level one heading foo bar baz fizz buzz...
** Shorter level two heading...|

... e premendo TABnon si espande l'intestazione di secondo livello.

L'idea è di sistemare in TABmodo tale da espandere comunque la rotta. In questo modo, invece di doverlo fare C-n C-e TAB, si può semplicemente fare C-n TAB.

Non sono stato in grado di scoprire nulla sulla correzione di questo comportamento. Mi manca qualcosa o è necessario scrivere del codice? Grazie.

Risposte:


4

Prova questo:

(setq org-special-ctrl-a/e t)

Quindi si C-esposta prima delle ellissi, non dopo.


1
Grazie, ma ho già questo set e non risolve il problema. Ad esempio, se un'intestazione di primo livello è lunga 80 caratteri e l'intestazione di secondo livello è lunga 40 caratteri e il punto si trova alla fine dell'intestazione di primo livello e premo la freccia giù o C-n, il punto si sposterà sull'intestazione di secondo livello oltre i puntini di sospensione.
Blujay,

2
@blujay L'impostazione di questa opzione fa funzionare i tuoi esempi come desiderato per me. Ho emacs 24.5.1, org 8.3.1, su OS X 10.10.5, se questo aiuta. L'esecuzione emacs -Qe la richiesta dell'organizzazione mi consente di ottenere la versione 8.2.10, che riproduce i tuoi esempi.
scbagley,

Grazie! Sono ancora su Org 8.2.4, la versione inclusa nella mia distribuzione. Immagino che dovrei andare avanti e aggiornare manualmente. Non ho trovato nulla nel log delle modifiche che sembrerebbe causare la modifica di questo comportamento in 8.3, ma prenderò le tue parole! :) Riporterò indietro dopo l'aggiornamento.
blujay,

3

org-rivelano

Quando sei alla destra delle ellissi potresti essere (a seconda di cosa si nascondono le ellissi) in effetti nella struttura gerarchica e non nel rispettivo titolo. In questa situazione puoi digitare C-u C-c C-re il titolo verrà rivelato (ma finirai con il cursore in un'altra posizione). Oppure devi prima cambiare la posizione del cursore, come hai mostrato nella tua domanda (preferirei un pensiero C-aperò).


Con "dietro i due punti" intendevi "dopo i puntini di sospensione", giusto? So che intendi questo, ma l'uso della parola "dietro" mi fa interpretare come "prima dei puntini di sospensione" o "a sinistra dei puntini di sospensione".
Kaushal Modi,

@kaushalmodi grazie per aver individuato questa stupidità, era piuttosto tardi, quando l'ho scritto e l'ho aggiornato ora.
Dieter.Wilhelm,

1
Grazie, ma l'idea è di evitare di spostare il punto o utilizzare un'altra sequenza di tasti. TABcon il punto dopo le ellissi dovrebbe andare avanti ed espandere la sottostruttura.
Blujay,

2

Questo può essere risolto aggiungendo un hook a org-tab-first-hookcui aggiunge org-end-of-line. Ogni volta che TABviene utilizzato salta all'ultimo carattere visibile di org-line, ma prima dei puntini di sospensione, quindi apre / chiude il contenitore come al solito.

(add-hook 'org-tab-first-hook 'org-end-of-line)
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.