วิธีที่ดีที่สุด (กดแป้นน้อย) ในการกระโดดไปที่จุดเริ่มต้นของฟังก์ชั่นแล้วกลับไปที่จุดปัจจุบัน?


16

บางครั้งฉันอยู่ในฟังก์ชันยาวที่ไม่สามารถมองเห็นจุดเริ่มต้นของฟังก์ชันได้ ในขณะที่ฉันเพิ่งเรียนรู้เกี่ยวกับ(which-function-mode)สิ่งที่บอกฉันในชื่อโมเดลของฟังก์ชั่นฉันต้องการที่จะสามารถข้ามไปยังจุดเริ่มต้นของฟังก์ชั่นได้อย่างรวดเร็วและกลับมาได้อย่างง่ายดายที่สุด

จนถึงตอนนี้ฉันได้พบคำตอบสองข้อ

  1. ใช้เครื่องหมาย

    C-SPC ทำเครื่องหมายจุดปัจจุบัน

    C-M-a เลื่อนไปข้างหลังเพื่อเริ่มฟังก์ชั่น

    C-x C-x เครื่องหมายแลกเปลี่ยนพร้อมจุดปัจจุบัน (ข้ามคุณกลับ)

    C-g ยกเลิกภูมิภาคที่ทำเครื่องหมายไว้

  2. ใช้การลงทะเบียน

    C-x r SPC p บันทึกจุดปัจจุบันใน register 'p'

    C-M-a เลื่อนไปข้างหลังเพื่อเริ่มฟังก์ชั่น

    C-x r j p ข้ามไปยังจุดที่บันทึกไว้ใน register 'p'

มีวิธีที่ดีกว่า? ฉันไม่ได้ต่อต้านการเพิ่ม elisp ลงใน.emacsไฟล์ของฉัน

คำตอบ:


19

สิ่งนี้ใช้ได้กับฉัน:

  • C-M-aเพื่อเลื่อนไปยังจุดเริ่มต้นของฟังก์ชัน ชุดนี้ทำเครื่องหมายโดยอัตโนมัติ
  • C-u C-SPC เพื่อป๊อปเครื่องหมายและกลับสู่ตำแหน่งก่อนหน้า

2
ดี! ฉันมีความคิดว่ามันตั้งเครื่องหมายสำหรับฉันและฉันไม่ทราบเกี่ยวกับการปรับปรุงคำนำหน้าset-mark-command
ฮาร์วีย์

10
เมื่อคุณคุ้นเคยกับการใช้pop-to-mark-command(ซึ่งเป็นสิ่งที่เรียกว่าC-u C-SPC) คุณจะสงสัยว่าคุณอยู่โดยปราศจากมัน คุณสามารถหาทางกลับจากที่ที่คุณมาจากการติดตามร่องรอยเล็ก ๆ น้อย ๆ ที่คุณไม่รู้ด้วยซ้ำว่าคุณกำลังจากไป
nispio

จริง เป็นเรื่องปกติที่คำสั่ง Emacs จะผลักแหวนไปที่เครื่องหมายหากพวกเขากำลังจะย้ายคุณไปไกลจากที่ที่คุณอยู่ดังนั้นผู้ใช้ควรจดจำวิธีการนี้โดยทั่วไป
phils
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.