คำถามติดแท็ก motion

5
หยุดที่จุดเริ่มต้นของคำว่า "ไปข้างหน้าคำ"
ฉันมักจะใช้การเรียกหลายครั้งforward-wordตามด้วยซิงเกิ้ลbackward-wordเพื่อย้ายจุดไปยังจุดเริ่มต้นของคำในบรรทัด ฉันเดาว่าฉันไม่เคยชินกับวิธีที่forward-wordแตกต่างจากเสียงเรียกเข้าwและแม้กระทั่งหลังจากใช้ Emacs มาหลายปีฉันก็ไม่ชินกับความแตกต่าง มีฟังก์ชั่นที่ฉันสามารถใช้แทนforward-wordสิ่งที่ไม่ข้ามคำ แต่หยุดที่จุดเริ่มต้นของคำด้วยหรือไม่ มีกลยุทธ์อื่น ๆ ที่จะย้ายไปจุดเริ่มต้นของคำเมื่อจุดก้าวไปข้างหน้าที่ไม่เกี่ยวข้องกับการดำเนินการซ้ำแล้วซ้ำอีกforward-char?
17 motion 

3
นำทางด้วยการเยื้อง
ฉันต้องการนำทางระหว่างบรรทัดของไฟล์ตามการเยื้อง ไฟล์ถูกจัดโครงสร้างโดยการเยื้อง: บรรทัดที่เยื้องกว่าบรรทัดก่อนหน้าคือชายด์ของบรรทัดก่อนหน้าบรรทัดที่มีการเยื้องเดียวกันกับบรรทัดก่อนหน้าคือพี่น้อง ฉันกำลังมองหาสามคำสั่งเป็นส่วนใหญ่: ย้ายไปยังพี่น้องถัดไปเช่นบรรทัดถัดไปที่มีการเยื้องเดียวกันข้ามบรรทัดที่เยื้องมากกว่า แต่ไม่ข้ามบรรทัดที่เยื้องน้อยลง ย้ายไปยังพี่น้องก่อนหน้านั่นคือสิ่งเดียวกันในทิศทางอื่น ย้ายไปที่พาเรนต์เช่นไปยังบรรทัดก่อนหน้าโดยมีการย่อหน้าที่น้อยกว่า ตำแหน่งคอลัมน์ของจุดไม่ควรเปลี่ยนแปลง เหล่านี้เป็น analogs ข้อมูลเยื้องโครงสร้างการforward-sexp, backward-sexpและbackward-up-listข้อมูล sexp โครงสร้าง การเยื้องสอดคล้องกับโครงสร้างของโปรแกรมในภาษาเช่น Haskell และ Python ฟังก์ชั่นเหล่านี้มีประโยชน์อย่างยิ่งในบริบทนี้ แต่ฉันไม่ได้มองหาโหมดเฉพาะใด ๆ (กรณีการใช้งานหลักของฉันคือข้อมูลที่มีโครงสร้างความตั้งใจภายในรูปแบบไฟล์อื่น) ระดับการเยื้องสีสามารถช่วยนำทางด้วยตนเองด้วยUp/ Downแต่ฉันต้องการบางสิ่งบางอย่างโดยอัตโนมัติ คำถามผู้ใช้ระดับสูงนี้คล้ายกัน แต่มีข้อกำหนดน้อยกว่าและไม่มีคำตอบที่ตรงกับความต้องการของฉัน

4
จุด emacs (เคอร์เซอร์) ความล่าช้าในการเคลื่อนไหว
เมื่อทำงานprevious-line, C-pหรือ<up>เคอร์เซอร์กระโดดขึ้นบรรทัดโดยไม่มีปัญหาใด ๆ หรือล่าช้า เมื่อทำงานnext-line, C-nหรือ<down>เคอร์เซอร์ต้องกระโดดลงเส้น แต่มีความล่าช้าอย่างมีนัยสำคัญ เมื่อฉันกดปุ่มลงฉันไม่สามารถเห็นจุดที่กำลังเคลื่อนที่มันจะปรากฏที่ด้านล่าง ฉันวิ่ง Profiler Emacs cl-positionและดูเหมือนว่าผู้กระทำผิดเป็น สิ่งที่ได้ผลคือเป็นprevious-lineเพียงแค่เลื่อนเคอร์เซอร์ในขณะที่next-lineใช้งานฟังก์ชั่นมากมาย ปัญหาคืออะไรและจะแก้ไขอย่างไร
12 point  motion 


2
วิธีจัดการบรรทัดถัดไปในแมโครแป้นพิมพ์
ฉันสร้างแมโครคีย์บอร์ดเพื่อรวมบรรทัดในบัฟเฟอร์โดยใช้: F3 C-n M-x join-line RET F4. มันทำงานได้ดียกเว้นเมื่อบรรทัดยาวเกินไปและเริ่มตัด - ซึ่งทำให้แมโครนี้ขึ้นอยู่กับความกว้างของเฟรม next-lineดูเหมือนจะไม่ไปที่บรรทัดจริงถัดไป แต่ไปที่ส่วน "การตัด" ของบรรทัดปัจจุบัน จะแก้ไขปัญหานั้นได้อย่างไร


3
เดินต่อไปจนสุดบรรทัด
ค่าเริ่มต้นของการเชื่อมโยงคีย์C-a/C-eนั้นมีเพียงสิ่งเดียวเท่านั้นย้ายไปที่จุดเริ่มต้น / สิ้นสุดของบรรทัดมีแพ็คเกจใด ๆ ที่สามารถทำให้ Emacs ทำหน้าที่ดังนี้ หากฉันไม่ได้อยู่ที่ท้ายบรรทัดC-eจะไปที่ท้ายบรรทัดมิฉะนั้นให้ไปจบบรรทัดถัดไป ถ้าฉันไม่อยู่ที่จุดเริ่มต้นของบรรทัดC-aจะไปที่จุดเริ่มต้นของบรรทัดมิฉะนั้นไปที่จุดเริ่มต้นของบรรทัดถัดไป ประเด็นก็คือคุณก็สามารถให้การกดปุ่มC-a/eเพื่อไปยังจุดเริ่มต้น / C-n/pท้ายของทุกสายโดยไม่ต้องย้ายนิ้วของคุณเพื่อการเข้าถึง และด้วยคำนำหน้า ( C-u) พวกเขาจะไปที่จุดเริ่มต้น / สิ้นสุดของบรรทัดในทิศทางตรงกันข้าม
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.