ขยายทรีย่อยโหมดองค์กรด้วยจุดหลังจากจุดไข่ปลา?


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 TABC-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, บน OS X 10.10.5, ถ้าช่วยได้ การทำงานemacs -Qและต้องการ org ทำให้ฉันได้รับเวอร์ชัน 8.2.10 ซึ่งทำตัวอย่างของคุณซ้ำ
scbagley

ขอบคุณ! ฉันยังอยู่ใน Org 8.2.4 เวอร์ชันที่บรรจุใน distro ของฉัน ฉันเดาว่าฉันควรดำเนินการต่อและอัปเกรดด้วยตนเอง ฉันไม่พบสิ่งใดในการเปลี่ยนแปลงที่ดูเหมือนจะทำให้พฤติกรรมนี้เปลี่ยนไปใน 8.3 แต่ฉันจะเอาคำของคุณไป! :) ฉันจะรายงานกลับหลังจากอัพเกรด
blujay

3

org-เปิดเผย

เมื่อคุณอยู่ทางด้านขวาของรูปไข่คุณอาจจะ (ขึ้นอยู่กับสิ่งที่รูปไข่กำลังหลบซ่อนอยู่) ที่มีผลบังคับใช้ในต้นไม้ลำดับชั้นและไม่อยู่ในบรรทัดแรกที่เกี่ยวข้อง ในสถานการณ์เช่นนี้คุณสามารถพิมพ์ C-u C-c C-rและพาดหัวจะถูกเปิดเผย ( แต่คุณจะจบลงด้วยเคอร์เซอร์ในสถานที่อื่น) หรือคุณต้องเปลี่ยนตำแหน่งเคอร์เซอร์ก่อนตามที่ปรากฏในคำถามของคุณ (ฉันต้องการC-aมากกว่านี้)


โดย "Behind the colons" คุณหมายถึง "after ellipsis" ใช่ไหม ฉันรู้ว่าคุณหมายถึง แต่การใช้คำว่า "เบื้องหลัง" ทำให้ฉันตีความว่า "ก่อนจุดไข่ปลา" หรือ "ทางด้านซ้ายของจุดไข่ปลา"
Kaushal Modi

@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)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.