บทช่วยสอน GNU Emacs: วิธีแก้ไขไฟล์ (รวม Cheat Sheet)
เผยแพร่แล้ว: 2016-01-26ไบต์สั้น: คุณต้องการเรียนรู้พื้นฐานของโปรแกรมแก้ไขข้อความ Emacs หรือไม่? นี่คือบทช่วยสอนพื้นฐานสำหรับคุณในการเริ่มต้น สำหรับผู้ที่ไม่ทราบ GNU Emacs เป็นโปรแกรมแก้ไขข้อความยอดนิยมที่มีฟังก์ชันหลากหลาย
ดังนั้น Emacs คืออะไร?
GNU Emacs หรือโดยทั่วไปแค่ Emacs เป็นตัวแก้ไขการแสดงผลแบบเรียลไทม์ที่ขยายได้ ปรับแต่งได้ และจัดทำเอกสารด้วยตนเองตาม man page เป็นมากกว่าโปรแกรมแก้ไขข้อความ สามารถใช้สำหรับการดูอีเมล ท่องเว็บ รวบรวมและเรียกใช้โปรแกรม ทดสอบซอฟต์แวร์ (โดยใช้ gdb) และจัดการไฟล์ เพื่อประโยชน์ของบทความนี้ เราจะใช้มันเป็นโปรแกรมแก้ไขข้อความ
การแก้ไขใน Emacs ยากไหม
ไม่เลย. คุณสามารถแก้ไขไฟล์ได้โดยใช้เมาส์และคีย์บอร์ดเท่านั้น โดยไม่ต้องใช้ปุ่มลัดใดๆ เช่นเดียวกับโน้ตแพด เห็นได้ชัดว่ามันไม่ได้มีประสิทธิภาพมากนัก คุณต้องการทางลัดสำหรับงานที่ทำบ่อยๆ และ Emacs มี zillions ของพวกเขา
มาแก้ไขกันหน่อย…
เปิดไฟล์ใน Emacs
ตกลง. กด Ctrl-x Ctrl-f
จากนั้นพิมพ์ชื่อไฟล์ คุณสามารถดูชื่อไฟล์ขณะพิมพ์ได้ที่บรรทัดล่างสุดของหน้าจอ (เรียกว่า minibuffer) การทำ Tab
ให้เสร็จยังใช้งานได้ที่นั่น
อีกวิธีหนึ่งสามารถเปิดไฟล์โดยใช้เมนูไฟล์แบบเลื่อนลงหรือเปิดไอคอนไฟล์ (มุมบนซ้ายของกรอบ Emacs) หรือเพียงแค่ดับเบิลคลิกที่ไฟล์
การเคลื่อนไหวของเคอร์เซอร์พื้นฐาน
Emacs รองรับการเลื่อนเคอร์เซอร์ผ่านปุ่มลูกศร แต่จะดีกว่าเสมอถ้าคุณมีนิ้วอยู่ที่ตำแหน่งมาตรฐานในคีย์บอร์ดของคุณ ต่อไปนี้คือรายการการเชื่อมโยงปุ่มสำหรับการเคลื่อนไหวพื้นฐานรอบๆ ข้อความ
Ctrl-p:
ย้ายไปที่บรรทัดก่อนหน้า
Ctrl-n:
ย้ายไปที่บรรทัดถัดไป
Ctrl-f:
เลื่อนไปข้างหน้าหนึ่งอักขระ
Ctrl-b:
เลื่อนถอยหลังหนึ่งอักขระ
Ctrl-e:
เลื่อนไปที่ท้ายบรรทัด
Ctrl-a:
ย้ายไปที่จุดเริ่มต้นของบรรทัด
มีญาติ Meta
ของทางลัดเหล่านี้ส่วนใหญ่ เช่นเดียวกับ Ctrl-f
เลื่อนเคอร์เซอร์ไปข้างหน้าทีละอักขระ Meta-f
เลื่อนเคอร์เซอร์ไปข้างหน้าหนึ่งคำ Meta
จะแสดงเป็น Alt
บนแป้นพิมพ์ส่วนใหญ่
คำศัพท์บางคำก่อนส่วนถัดไป
ใน Emacs แนวคิดเรื่อง บัฟเฟอร์ เป็นเรื่องธรรมดามาก โดยทั่วไปแล้ว เมื่อคุณเปิดไฟล์แล้ว ไฟล์นั้นจะอยู่ในบัฟเฟอร์ การเปลี่ยนแปลงใดๆ ที่คุณทำกับไฟล์นั้นมีอยู่ในบัฟเฟอร์ การเปลี่ยนแปลงจะไม่ปรากฏบนดิสก์เว้นแต่คุณจะบันทึกการเปลี่ยนแปลงเหล่านั้น Emacs รองรับการแก้ไขบัฟเฟอร์หลายรายการพร้อมกัน นั่นคือ คุณสามารถโหลดไฟล์หลายไฟล์ลงในบัฟเฟอร์ Emacs และสลับไปมาระหว่างไฟล์เหล่านั้นได้โดยไม่สูญเสียการเปลี่ยนแปลงใดๆ ที่คุณได้ทำไว้
แนวคิดของ windows ใน Emacs นั้นแตกต่างจากซอฟต์แวร์อื่นๆ ที่ใช้กันทั่วไป ใน Emacs เราสามารถแบ่งหน้าจอออกเป็นหลาย ๆ หน้าต่างได้ โดยแต่ละหน้าต่างจะมีบัฟเฟอร์ของตัวเอง โปรดทราบว่าหน้าต่างทั้งสองใช้หน้าจอเดียวกัน เมนูไฟล์เดียวกัน และปุ่มปิดและย่อขนาดเดียวกัน โดยทั่วไป ทั้งสองอยู่ในหน้าต่างเดียวกัน
ซอฟต์แวร์อื่น ๆ เรียกว่าหน้าต่างอะไร Emacs หมายถึงพวกเขาเป็น เฟรม นั่นคือแต่ละเฟรมมีเมนูไฟล์ที่แตกต่างกันและปุ่มปิด
การแก้ไขหลายหน้าต่างใน Emacs
การแก้ไขหลายหน้าต่างเป็นหนึ่งในคุณสมบัติที่ฉันชอบมากที่สุดใน Emacs มีปุ่มลัดการแก้ไขหลายหน้าต่างใน Emacs ฉันจะพยายามตัดมันให้เหลือน้อยที่สุด เพียงแก้ไขสองไฟล์พร้อมกัน
ขั้นแรก เปิดไฟล์โดยใช้ Ctrl-x Ctrl-f,
แล้วตามด้วยชื่อไฟล์ จากนั้นกด Ctrl-x 2
สิ่งนี้จะแบ่งหน้าต่างออกเป็นสองบาน บานหนึ่งอยู่ด้านล่างอีกบานหนึ่ง เริ่มแรก ทั้งสองหน้าต่างจะแสดงบัฟเฟอร์เดียวกัน หากต้องการสลับระหว่างหน้าต่าง ให้กด Ctrl-x o
เปิดไฟล์อื่นในหน้าต่างที่สองและแก้ไขทั้งสองพร้อมกัน อีกทางหนึ่ง Emac สามารถแสดงหลายหน้าต่างพร้อมกันได้ เมื่อต้องการทำสิ่งนี้ให้กด Ctrl-x 3.
ในการฆ่าหน้าต่างที่สอง กล่าวคือ แสดงเพียงหน้าต่างเดียวบนเฟรม ให้กด Ctrl-X 1.
เมื่อคุณฆ่าหน้าต่าง บัฟเฟอร์ที่เกี่ยวข้องกับหน้าต่างนั้นจะไม่ถูกทำลาย กล่าวคือ การเปลี่ยนแปลงใดๆ ที่คุณทำกับหน้าต่างที่สองจะไม่สูญหาย บัฟเฟอร์นั้นถูกซ่อนไว้ หากต้องการสลับระหว่างบัฟเฟอร์ โปรดอ่านหัวข้อถัดไป
การสลับระหว่างบัฟเฟอร์
ผู้เริ่มต้นอาจไม่พบแนวคิดของบัฟเฟอร์หลายตัวที่ค่อนข้างง่าย ฉันไม่ได้ ฉันเคยเปิดไฟล์หนึ่ง, แก้ไขมัน, บันทึก, ปิด, เปิดอีกไฟล์หนึ่ง แม้แต่เพื่อการอ้างอิง คุณต้องบันทึกและปิดก่อน หรือเปิดหน้าต่างแก้ไขข้อความอื่น (เช่น เฟรมในบริบทของ Emacs) เพื่อดูไฟล์อื่น เชื่อฉันเถอะ บัฟเฟอร์หลายตัวช่วยให้งานง่ายขึ้นและมีประสิทธิภาพมากขึ้น
การสลับระหว่างบัฟเฟอร์ที่เปิดอยู่นั้นค่อนข้างง่ายใน Emacs กด Ctrl-x b,
จากนั้นพิมพ์ชื่อบัฟเฟอร์ คุณสามารถใช้การเติม tab
สำหรับงานดังกล่าวได้ หรือกด Ctrl-x Ctrl-b.
นี่จะเป็นการเปิดหน้าต่างอื่นที่แสดงรายการบัฟเฟอร์ หากต้องการปิดหน้าต่างนี้ คุณรู้ว่าต้องทำอย่างไร คุณอาจเห็นบัฟเฟอร์ที่มีอยู่ก่อนหน้านี้ เช่น TUTORIAL *ข้อความ* ฯลฯ การใช้งานจะชัดเจนเมื่อคุณเปิด
การบันทึกไฟล์ใน Emacs
นี่อาจเป็นงานที่สำคัญที่สุด Emacs ฉลาดพอที่จะไม่สูญเสียการเปลี่ยนแปลงของคุณเมื่อคุณออกโดยไม่บันทึก หรือหลังจากไฟฟ้าขัดข้อง เมื่อคุณไม่ได้บันทึกการเปลี่ยนแปลงและ Emacs ถูกปิด ไม่ว่าจะด้วยเหตุผลใดก็ตาม ไฟล์ใหม่ที่ชื่อว่า #filename.txt# จะถูกสร้างขึ้นตามค่าเริ่มต้น ไฟล์นี้มีการเปลี่ยนแปลงที่คุณยังไม่ได้บันทึกทั้งหมด อย่างไรก็ตาม เป็นการดีกว่าที่จะหลีกเลี่ยงการเสี่ยงเมื่อไม่จำเป็น และบันทึกไฟล์ของคุณก่อนที่จะเลิก
หากต้องการบันทึกการเปลี่ยนแปลงที่ทำในบัฟเฟอร์ ให้กด Ctrl-x Ctrl-s.
หรือกด Ctrl-x Ctrl-w,
เพื่อบันทึกไฟล์ด้วยชื่ออื่น
เบ็ดเตล็ด:
ทางลัดเพิ่มเติมและคุณสมบัติของ Emacs ที่คุณอาจพบว่ามีประโยชน์
ยกเลิกคำสั่ง
หากคุณติดอยู่ในพื้นที่มินิบัฟเฟอร์ เนื่องจากคำสั่งที่ป้อนบางส่วนหรือเนื่องจากสาเหตุอื่น ให้กด Ctrl-g
เพื่อออกจากการดำเนินการนั้น อีกวิธีหนึ่ง การกดปุ่ม Esc
สามครั้ง ( Esc Esc Esc)
จะส่งผลให้มีการยกเลิกการทำงานบางส่วนเช่นกัน
กำลังค้นหา
หากต้องการค้นหาคำสำคัญหรือวลี ให้กด Ctrl-s
แล้วพิมพ์คำสำคัญ คำหลักที่คุณพิมพ์จะแสดงในมินิบัฟเฟอร์ (บรรทัดล่างสุด) Emacs ทำการค้นหาคำสำคัญที่เพิ่มขึ้นเรื่อยๆ นั่นคือมันเริ่มค้นหาทันทีที่คุณพิมพ์อักขระตัวแรก หากต้องการค้นหาคำสำคัญที่เกิดขึ้นครั้งต่อไป ให้กด Ctrl-s
อีกครั้ง
เลิกงานทันที
คุณสามารถออกจาก Emacs ได้โดยกดปุ่มปิด (X) ที่แสดงที่ด้านบน (ไม่ว่า DE ของคุณจะแสดงที่ใด) ในขณะที่เรากำลังพูดถึงเฉพาะบรรทัดคำสั่งในโพสต์นี้ การกด Ctrl-x Ctrl-c
ก็ทำเช่นเดียวกัน แม้ว่าจะแสดงคำเตือนในมินิบัฟเฟอร์หากคุณยังไม่ได้บันทึกบัฟเฟอร์ กด y หรือ n ก็พอ
เลื่อน
มีการอธิบายการเลื่อนบรรทัดไว้ด้านบน เช่น การกด Ctrl-n
หรือ Ctrl-p.
สำหรับการเลื่อนหน้า ให้กด Ctrl-v
หรือ Meta-v
สรุปหมายเหตุ
ฉันได้พยายามอธิบายทางลัดที่ใช้บ่อยที่สุดและการแก้ไขไฟล์พื้นฐานใน Emacs สิ่งที่ฉันได้อธิบายไว้เป็นเพียงเศษเสี้ยวของสิ่งที่คุณทำได้ด้วย Emacs เท่านี้ก็เพียงพอแล้วสำหรับการเริ่มต้นใช้งาน Emacs ฉันจะโพสต์เพิ่มเติมเกี่ยวกับ Emacs ขณะที่ฉันเรียนรู้เพิ่มเติมและค้นหาคุณสมบัติที่คุ้มค่าต่อการโพสต์
หากคุณได้เริ่มเรียนรู้ Emacs และพบว่ามีความชอบในสิ่งนั้น เราขอแนะนำให้คุณอ่านบทแนะนำเบื้องต้นที่มาพร้อมกับ Emacs
Emacs แผ่นโกง
พิมพ์เอกสารสรุปนี้ (Emacs Cheat Sheet) แล้วลองดำเนินการโดยใช้คีย์ผสมเท่านั้น หลีกเลี่ยงการใช้เมาส์ของคุณให้มากที่สุด และคุณจะเห็นว่าการแก้ไขข้อความมีประสิทธิภาพมากเพียงใด
คุณพบว่าบทช่วยสอน Emacs พื้นฐานนี้มีประโยชน์หรือไม่? บอกความคิดเห็นของคุณในความคิดเห็นด้านล่าง