Perluas subtree mode-org dengan titik setelah elipsis?

10

Saya suka mode-org, tetapi salah satu hal yang selalu mengganggu saya adalah bahwa, jika intinya adalah setelah elipsis subtree yang runtuh, menekan TABtidak memperluasnya. Misalnya, jika intinya ada di sini (diwakili oleh |):

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

... dan saya tekan TAB, tidak ada yang terjadi. Alih-alih, saya harus menyampaikan intinya di sini:

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

... dan kemudian saya dapat memperluas subtree.

Perhatikan bahwa menggunakan C-euntuk memindahkan kursor ke ujung tajuk tidak memperbaiki perilaku ini, itu hanya berfungsi di sekitarnya. Sebagai contoh, lihat pohon ini:

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

Intinya adalah di akhir heading pertama. Jika saya menekan panah ke bawah atau C-nuntuk memindahkan garis, intinya ada di sini:

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

... dan menekan TABtidak akan memperluas judul tingkat kedua.

Idenya adalah untuk memperbaiki TABsehingga akan memperluas tajuk pula. Dengan begitu, alih-alih harus melakukan C-n C-e TAB, seseorang bisa melakukannya C-n TAB.

Saya belum dapat menemukan apa pun tentang memperbaiki perilaku ini. Apakah saya kehilangan sesuatu, atau apakah beberapa kode perlu ditulis? Terima kasih.

blujay
sumber

Jawaban:

4

Coba ini:

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

Kemudian C-epindah ke sebelum elips, bukan setelah.

scbagley
sumber
1
Terima kasih, tetapi saya sudah memiliki set itu, dan itu tidak menyelesaikan masalah. Misalnya, jika judul tingkat pertama panjangnya 80 karakter, dan judul tingkat kedua panjangnya 40 karakter, dan titiknya ada di ujung judul tingkat pertama, dan saya tekan panah bawah atau C-n, titik akan pindah ke tingkat kedua menuju di luar elipsis.
blujay
2
@blujay Mengatur opsi ini tidak membuat contoh Anda berfungsi seperti yang diinginkan untuk saya. Saya punya emacs 24.5.1, org 8.3.1, di OS X 10.10.5, jika itu membantu. Menjalankan emacs -Qdan membutuhkan org membuat saya versi 8.2.10, yang mereproduksi contoh Anda.
scbagley
Terima kasih! Saya masih menggunakan Org 8.2.4, versi yang dikemas dalam distro saya. Saya kira saya harus melanjutkan dan meningkatkan secara manual. Saya tidak dapat menemukan apa pun di changelog yang tampaknya menyebabkan perilaku ini berubah pada 8.3, tetapi saya akan mengambil kata Anda untuk itu! :) Saya akan melaporkan kembali setelah peningkatan.
blujay
3

org-ungkap

Ketika Anda berada di sebelah kanan elips Anda mungkin (tergantung apa yang elips bersembunyi) pada dasarnya turun di hierarki pohon dan bukan di judul masing-masing. Dalam situasi ini Anda bisa mengetik C-u C-c C-rdan informasi utama akan terungkap (tetapi Anda akan berakhir dengan kursor di lokasi lain). Atau Anda harus mengubah posisi kursor Anda terlebih dahulu, seperti yang telah Anda tunjukkan dalam pertanyaan Anda (saya lebih suka a C-a).

Dieter.Wilhelm
sumber
Dengan "di belakang titik dua", maksud Anda "setelah elipsis", kan? Saya tahu maksud Anda, tetapi penggunaan kata "belakang" membuat saya menafsirkan sebagai "sebelum ellipsis" atau "di sebelah kiri ellipsis".
Kaushal Modi
@kaushalmodi terima kasih telah melihat kebodohan ini, agak terlambat, ketika saya menulisnya dan saya memperbarui sekarang.
Dieter.Wilhelm
1
Terima kasih, tetapi idenya adalah untuk menghindari keharusan untuk memindahkan titik atau menggunakan urutan kunci lain. TABdengan titik setelah elipsis harus pergi ke depan dan memperluas subtree.
blujay
2

Ini dapat diatasi dengan menambahkan hook org-tab-first-hookyang menambah org-end-of-line. Setiap kali TABdigunakan itu melompat ke karakter terlihat terakhir org-line, tetapi sebelum elipsis, dan kemudian membuka / menutup wadah seperti biasa.

(add-hook 'org-tab-first-hook 'org-end-of-line)
David
sumber