Розгорніть підрядність в режимі org з точкою після еліпсису?


10

Я люблю org-режим, але одна з речей, яка мене завжди клопоче, - це те, що якщо крапка є після еліпсису зруйнованого піддерева, натискання TABне розширює його. Наприклад, якщо точка тут (представлена ​​символом |):

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

... і я натискаю TAB, нічого не відбувається. Натомість я маю тут поставити крапку:

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

... і тоді я можу розширити підкресле.

Зауважте, що використання C-eдля переміщення курсору до кінця заголовка не виправляє цю поведінку, вона просто працює навколо неї. Наприклад, подивіться на це дерево:

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

Справа в кінці першого заголовка. Якщо я натискаю стрілку вниз або C-nрухаюся по лінії вниз, точка буде тут:

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

... і натискання TABне розширить заголовок другого рівня.

Ідея полягає в TABтому, щоб виправити так, щоб це все одно розширило заголовок. Таким чином, замість того, щоб робити C-n C-e TAB, можна просто зробити C-n TAB.

Я не зміг дізнатися нічого про виправлення такої поведінки. Я щось пропускаю, чи потрібно писати якийсь код? Дякую.

Відповіді:


4

Спробуйте це:

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

Потім C-eпереходить до еліпсів, а не після.


1
Дякую, але у мене вже є такий набір, і це не вирішує проблему. Наприклад, якщо заголовок першого рівня має 80 символів, а заголовок другого рівня - 40 символів, а точка знаходиться в кінці заголовка першого рівня, і я натискаю стрілку вниз або C-n, точка переміститься до заголовка другого рівня поза еліпсисом.
blujay

2
@blujay Якщо встановити цей параметр, ваші приклади можуть працювати для мене бажаними. У мене є emacs 24.5.1, org 8.3.1, на ОС X 10.10.5, якщо це допомагає. Запуск emacs -Qі вимагає org отримує мені версію 8.2.10, яка відтворює ваші приклади.
scbagley

Дякую! Я досі перебуваю на Org 8.2.4, версію, упаковану в моєму дистрофії. Я думаю, що мені слід рухатись вперед та вдосконалюватись вручну. Я не зміг знайти нічого в журналі змін, що, здавалося б, призвело до зміни цієї поведінки в 8.3, але я візьму на це ваше слово! :) Я докладу звіт після оновлення.
blujay

3

орг-розкрити

Якщо ви знаходитесь праворуч від еліпсів, ви, можливо, (залежно від того, що ховаються еліпси) насправді внизу в ієрархічному дереві, а не у відповідному заголовку. У цій ситуації ви можете набрати, C-u C-c C-rі заголовок буде розкрито (але ви перейдете за курсором в інше місце). Або вам доведеться спочатку змінити позицію курсора, як ви показали у своєму запитанні (я б хотів би C-aвсе-таки).


Під «колонами» ви мали на увазі «після еліпсису», правда? Я знаю, ви це маєте на увазі, але використання слова «позаду» змушує мене тлумачити як «перед еліпсисом» або «зліва від еліпсису».
Каушал Моді

@kaushalmodi спасибі за те, що помітили цю дурість, досить пізно, коли я написав це, і я оновив зараз.
Dieter.Wilhelm

1
Дякую, але ідея - уникнути необхідності переміщення точки або використання іншої послідовності ключів. TABз точкою після еліпсису слід йти вперед і розширювати піддір.
blujay

2

Це можна вирішити, додавши гачок, до org-tab-first-hookякого додає org-end-of-line. Кожен раз, коли TABвикористовується, він переходить до останнього видимого символу org-line, але перед еліпсісом, а потім відкриває / закриває контейнер, як зазвичай.

(add-hook 'org-tab-first-hook 'org-end-of-line)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.