Vim Registers คืออะไร

Vim Registers Khux Xari



รีจิสเตอร์ Vim คือบล็อกการจัดเก็บข้อมูลที่ใช้เพื่อจัดเก็บข้อความและการดำเนินการที่ถูกดึง ลบออก รีจิสเตอร์เหล่านี้สามารถเข้าถึงได้โดยใช้ชื่อแท็ก ซึ่งอาจเป็นตัวเลข ตัวอักษร หรือสัญลักษณ์ก็ได้

หากคุณใช้ Vim คุณจะต้องใช้การลงทะเบียน Vim ทุกครั้งที่คุณคัดลอก/ลบข้อความ หรือดำเนินการคำสั่ง Vim จะจัดเก็บข้อมูลนี้ไว้ในรีจิสเตอร์ เมื่อคุณวางมัน Vim จะได้รับข้อมูลจากรีจิสเตอร์และดึงมันลงในบัฟเฟอร์ กล่าวอีกนัยหนึ่ง Vim register ทำหน้าที่เป็นคลิปบอร์ดเพื่อจัดเก็บข้อความและประวัติคำสั่ง

Vim มีรีจิสเตอร์ที่แตกต่างกันทั้งหมด 10 ประเภท ซึ่งแต่ละประเภทมีวัตถุประสงค์ที่แตกต่างกัน ในบทช่วยสอนนี้ ฉันจะสำรวจการลงทะเบียน Vim ประเภท และการใช้งาน







บันทึก : สำหรับบทช่วยสอนนี้ ฉันกำลังดำเนินการคำสั่งบน macOS Vim เป็นแอปพลิเคชันข้ามแพลตฟอร์ม ดังนั้นคำสั่งที่กล่าวถึงในคู่มือนี้จะนำไปใช้กับ Vim เวอร์ชันทั้งหมดโดยไม่คำนึงถึงระบบปฏิบัติการ



ตัวดำเนินการลงทะเบียน Vim

รีจิสเตอร์ใน Vim สามารถใช้งานได้โดยใช้การดำเนินการต่างๆ เช่น การคัดลอก การลบ หรือการเปลี่ยนแปลง การดำเนินการแต่ละครั้งจะมีโอเปอเรเตอร์เฉพาะ เช่น หากต้องการดึงข้อความ y จะใช้โอเปอเรเตอร์ ในขณะที่ลบข้อความ จะใช้โอเปอเรเตอร์ d รายชื่อผู้ประกอบการที่ได้รับการว่าจ้างโดยทั่วไปมีดังต่อไปนี้:

ใช่ แยงค์ส (สำเนา) เส้น
วว ลบบรรทัด
ซีซี ลบบรรทัดและเปิดใช้งานโหมด INSERT
ลบอักขระและเริ่มโหมด INSERT เพื่อทดแทน
x ลบอักขระใต้เคอร์เซอร์
คิว มาโคร; เก็บชุดคำสั่งไว้ในรีจิสเตอร์เฉพาะ

หากต้องการพิมพ์ข้อความที่เก็บไว้ พี หรือ มีการใช้ตัวดำเนินการ:

พี วาง (วาง) ข้อความหลังเคอร์เซอร์
วางข้อความไว้หน้าเคอร์เซอร์

คำสั่งเหล่านี้ก็นับเช่นกัน เช่น หากต้องการคัดลอก 10 บรรทัด ให้ใช้เครื่องหมาย 10ปป คำสั่งในทำนองเดียวกันเพื่อวางสำเนา 10 ของการใช้บรรทัดที่ถูกดึง 10น .

รายการทะเบียน

หากต้องการแสดงรายการรีจิสเตอร์ทั้งหมดให้ใช้ :ลงทะเบียน หรือ :reg คำสั่งและเพื่อแสดงรายการการลงทะเบียนเฉพาะให้ใช้ :reg โดยที่ คือชื่อทะเบียน (เช่น 0-9, a-z)

ในทำนองเดียวกัน หากต้องการแสดงรายการเนื้อหาของการลงทะเบียนหลายรายการ ให้ใช้ :reg “ สั่งการ.

ในรายการลงทะเบียน คุณจะเห็นสามคอลัมน์ ชื่อ ประเภท และเนื้อหา . ในที่นี้ Type หมายถึงประเภทเนื้อหา ไม่ใช่ประเภทรีจิสเตอร์ สาม ประเภท ของเนื้อหาสามารถแก้ไขได้ด้วยการลงทะเบียน

  • : เส้นฉลาด
  • : ตัวละครฉลาด
  • : บล็อกฉลาด

ตัวอย่างเช่น หากเนื้อหาถูกคัดลอกโดยใช้การดำเนินการตามบรรทัด (ใช่) จากนั้นประเภทเนื้อหาจะเป็น ถ้าเป็นตัวละคร (ใช่) แล้วชนิดจะเป็น และหากเนื้อหาถูกคัดลอกแบบบล็อก (ctrl+v และ y) จากนั้นประเภทจะแสดงเป็น .

การทำงานกับ Vim Registers

รีจิสเตอร์ Vim สามารถใช้เพื่อจัดเก็บเนื้อหาโดยใช้การดึง ลบ และเปลี่ยนตัวดำเนินการ เนื้อหาที่เก็บไว้สามารถเข้าถึงได้โดยใช้ตัวดำเนินการใส่

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

'<ตัวดำเนินการ>

ตัวอย่างเช่น หากต้องการคัดลอกบรรทัดไปยังชื่อรีจิสเตอร์ กับ ใช้ ' จี๊ด . ในทำนองเดียวกัน หากคุณเลือกหลายบรรทัดในโหมดภาพ ให้ใช้ “ ซี่ เพื่อจัดเก็บบรรทัดใน z register

การเข้าถึงทะเบียน
ในการเข้าถึงการลงทะเบียน Vim ใบเสนอราคา (“) สัญลักษณ์ใช้กับชื่อทะเบียนและ พี/พี ตัวดำเนินการ

'หน้า

ตัวอย่างเช่น หากชื่อรีจิสเตอร์คือ z และเพื่อเข้าถึงเนื้อหาของรีจิสเตอร์ thIS ให้ใช้ “ zp ในโหมดปกติ อย่างไรก็ตาม หากต้องการดำเนินการเดียวกันในโหมด INSERT ให้ใช้ Ctrl+r z .

<ตัวดำเนินการ> โหมดปกติ ในการจัดเก็บเนื้อหาให้ใช้คำพูด (“) , ชื่อทะเบียน (ก-ฮ) และตัวดำเนินการ (y, ปปปป ง ค หรือซีซี)
หน้า โหมดปกติ หากต้องการวางเนื้อหาของใบเสนอราคาให้ใช้การลงทะเบียน (“) , ชื่อทะเบียน (ก-ฮ) และ พี/พี ตัวดำเนินการ
Ctrl+r แทรกโหมด หากต้องการวางเนื้อหาของรีจิสเตอร์ ให้ใช้ Ctrl+R และลงทะเบียนชื่อ (ก-ฮ)

คุณมีแนวคิดพื้นฐานของการลงทะเบียน Vim ตอนนี้ผมจะมาพูดคุยเจาะลึกเกี่ยวกับการลงทะเบียนแต่ละประเภทและการใช้งาน

ประเภทของ Vim Registers

ใน Vim มีรีจิสเตอร์ 10 ประเภทที่ออกแบบมาเพื่อวัตถุประสงค์เฉพาะ

  1. ทะเบียนไม่มีชื่อ (“”)
  2. เลขทะเบียน (0-9)
  3. รีจิสเตอร์ลบขนาดเล็ก (“-)
  4. ผู้ลงทะเบียนที่มีชื่อ (a-z หรือ A-Z)
  5. การลงทะเบียนแบบอ่านอย่างเดียว (“:, “., “%)
  6. การลงทะเบียนไฟล์สำรอง (“#)
  7. การลงทะเบียนนิพจน์ (“=)
  8. การเลือกและการลงทะเบียนการลงทะเบียน (“*, “+, +~)
  9. การลงทะเบียนหลุมดำ (“_)
  10. การลงทะเบียนรูปแบบการค้นหาล่าสุด (“/)

1. การลงทะเบียนที่ไม่มีชื่อ (“”)

เป็นการลงทะเบียนเริ่มต้นของ Vim เพื่อจัดเก็บข้อความที่ถูกดึงหรือลบโดยใช้ ใช่, ใช่, ง, วว, ส, หรือ x คำสั่ง

ที่ :reg “” คำสั่งสามารถใช้เพื่อแสดงรายการเนื้อหาที่เก็บไว้ในการลงทะเบียนที่ไม่มีชื่อ

หากต้องการวางเนื้อหารีจิสเตอร์ที่ไม่มีชื่อ ให้ใช้คำสั่ง put (พีหรือพี) สั่งการ. โดยค่าเริ่มต้น พี คำสั่งทำให้ที่เก็บเนื้อหาอยู่ในรีจิสเตอร์ที่ไม่มีชื่อ หรืออีกทางหนึ่ง ข้อมูลที่จัดเก็บไว้ในรีจิสเตอร์ที่ไม่มีชื่อสามารถวางได้โดยใช้คำสั่ง “”p

ในตัวอย่างต่อไปนี้ ฉันได้คัดลอกบรรทัดโดยใช้ ใช่ คำสั่งแล้วใส่ 5 ครั้งโดยใช้การนับ 5 กับ p (5p)

2. เลขทะเบียน (0-9)

รีจิสเตอร์ที่มีหมายเลขใช้เพื่อจัดเก็บข้อความที่ถูกดึงหรือลบล่าสุด

การลงทะเบียน 0 แตกต่างจากทะเบียน 1-9 . การลงทะเบียน 0 จะเก็บข้อความที่ดึงล่าสุดเสมอ เช่น ถ้าฉันดึงสายโดยใช้ ใช่ คำสั่งบรรทัดจะถูกเก็บไว้ในทั้ง ไม่มีชื่อ และ 0 ลงทะเบียน

ตอนนี้ถ้าฉันลบบรรทัดโดยใช้ วว บรรทัดที่ถูกลบจะถูกเก็บไว้ในการลงทะเบียนและการลงทะเบียนที่ไม่มีชื่อ 1 ในขณะที่ข้อความที่ถูกดึงครั้งสุดท้ายจะยังคงอยู่ในรีจิสเตอร์ 0 . ดังนั้นคุณจึงสามารถเข้าถึงข้อความที่ถูกดึงล่าสุดได้ตลอดเวลาผ่านการลงทะเบียน 0 .

ผู้ลงทะเบียน 1-9 เก็บข้อความที่ถูกลบล่าสุด เช่น ถ้าฉันลบบรรทัดโดยใช้ วว คำสั่งข้อความที่ถูกลบจะถูกเก็บไว้ในทั้งที่ไม่มีชื่อและลงทะเบียน 1 . ลงทะเบียน 1 จะเก็บข้อความที่ถูกลบล่าสุด หากฉันลบอีกบรรทัดข้อความที่ถูกลบก่อนหน้านี้จะย้ายไปลงทะเบียน 2 และล่าสุดจะถูกเก็บไว้ในที่ไม่มีชื่อและลงทะเบียน 1 . โดยพื้นฐานแล้วการลงทะเบียนที่มีหมายเลข (1-9) เก็บประวัติข้อความที่ถูกลบ

มาทำความเข้าใจการลงทะเบียนหมายเลขพร้อมตัวอย่างกัน ไฟล์ข้อความ Vim ต่อไปนี้ประกอบด้วย 10 บรรทัด มาดึงกัน บรรทัดที่ 3 โดยใช้ ใช่ สั่งการ. ตอนนี้ เรามาตรวจสอบสถานะของรีจิสเตอร์โดยใช้คำสั่ง :reg

เส้นที่ดึงออกปัจจุบันอยู่ใน ไม่มีชื่อ และ 0 ลงทะเบียน ตอนนี้เรามาลบบรรทัดทั้งหมดทีละบรรทัดโดยใช้ วว สั่งการ. สุดท้ายนี้ บรรทัดที่ 10 จะอยู่ในการลงทะเบียนที่ไม่มีชื่อและการลงทะเบียน 1 ในเวลาเดียวกัน บรรทัดอื่น ๆ ที่ถูกลบจะถูกเก็บไว้ในการลงทะเบียน 2-9 ตามลำดับจากน้อยไปหามาก

คุณสามารถเข้าถึงบรรทัดเหล่านี้ได้โดยใช้ พี สั่งการ. เช่น ใส่ข้อความ register 9 ใช้ “9น . นอกจากนี้หากต้องการใส่ค่า register 9 5 ครั้ง ใช้ “95น .

3. การลงทะเบียนลบขนาดเล็ก (“-)

รีจิสเตอร์นี้จะจัดเก็บข้อความที่ถูกลบหากมีขนาดน้อยกว่าบรรทัด โดยใช้คำสั่งเช่น x, รุ่งอรุณ, ดิว, ตบเบา ๆ, และ อีกครั้ง . นอกจากนี้หากคุณลบข้อความบางส่วนโดยใช้ ภาพ โหมดการเลือก และหากน้อยกว่าบรรทัด ก็จะถูกจัดเก็บไว้ในรีจิสเตอร์ลบขนาดเล็ก ในกลุ่มประโยค หมายถึงประโยคที่สมบูรณ์ซึ่งลงท้ายด้วยจุด

เช่น ในไฟล์ต่อไปนี้ ฉันเลือก 3 คำ ความร่วมมือและการสนับสนุน จากบรรทัดที่ 9 และลบออกโดยใช้ ตัวดำเนินการ รีจิสเตอร์ลบขนาดเล็กจะถูกใช้เพื่อบันทึกการเลือกนี้ เนื่องจากมีความยาวไม่เกินหนึ่งบรรทัด ใช้ :reg “- คำสั่งเพื่อแสดงรายการเนื้อหาของการลงทะเบียนการลบขนาดเล็ก

4. ชื่อผู้ลงทะเบียน (a-z หรือ A-Z)

การลงทะเบียนที่มีชื่อใช้เพื่อจัดเก็บข้อความเฉพาะของผู้ใช้ ดังนั้นหากคุณต้องการจัดเก็บข้อความในรีจิสเตอร์แบบกำหนดเองล่ะก็ 26 ลงทะเบียนจาก ถึง กับ สามารถใช้ได้.

ตัวอย่างเช่น ฉันกำลังดึงบรรทัดในไฟล์ต่อไปนี้โดยใช้ “ จี๊ด ข้อความจะถูกเก็บไว้ใน กับ ลงทะเบียนตามภาพต่อไปนี้

การลงทะเบียนชื่อตัวพิมพ์เล็กและตัวพิมพ์ใหญ่มีวัตถุประสงค์ที่แตกต่างกัน ตัวอย่างเช่น หากข้อความถูกบันทึกในทะเบียนตัวพิมพ์เล็ก ดังนั้นเพื่อที่จะแทนที่ข้อความของทะเบียนนั้น ทะเบียนตัวพิมพ์เล็กจะถูกนำมาใช้ อย่างไรก็ตาม หากต้องการเพิ่มข้อความต่อท้ายทะเบียนตัวพิมพ์เล็ก จะใช้ทะเบียนตัวพิมพ์ใหญ่ที่มีชื่อเดียวกัน

มาทำความเข้าใจผ่านตัวอย่างกันดีกว่า จากไฟล์ต่อไปนี้ ฉันเก็บบรรทัดที่ 8 ไว้ในรีจิสเตอร์ x โดยใช้ ' ไชโย .

หากต้องการเพิ่มข้อความต่อท้ายบรรทัดนี้ ฉันจะเลือกคำสองสามคำในโหมดภาพก่อน หากต้องการต่อท้ายข้อความที่เลือก ฉันจะใช้ “เอ็กซ์ สั่งการ.

หากต้องการแทนที่ข้อความ ฉันจะใช้เครื่องหมาย “ ไชโย .

5. การลงทะเบียนแบบอ่านอย่างเดียว (., %, 🙂

Vim มีรีจิสเตอร์แบบอ่านอย่างเดียว 3 รีจิสเตอร์ที่เก็บสิ่งที่แทรกไว้ ข้อความ, ชื่อไฟล์, และ ดำเนินการครั้งสุดท้าย สั่งการ.

. เก็บข้อความที่แทรกล่าสุด
% เก็บชื่อไฟล์
: : เก็บคำสั่งที่ดำเนินการล่าสุด

การลงทะเบียนเหล่านี้เป็นชื่อที่แนะนำไม่สามารถแก้ไขได้ แต่สามารถเข้าถึงได้ง่าย

หากต้องการใส่ข้อความที่แทรกล่าสุด ให้ใช้ “.ป สั่งการ.

หากต้องการพิมพ์ชื่อไฟล์ ให้ใช้ “%p สั่งการ.

หากต้องการพิมพ์คำสั่งสุดท้าย ให้ใช้ “:น.

ที่ @: คำสั่งสามารถใช้เพื่อทำซ้ำคำสั่งก่อนหน้าในกลุ่ม ในตัวอย่างต่อไปนี้ ฉันได้ลบ 3 บรรทัดแรกแล้วเมื่อกด @: ลบออกไปอีก 3 บรรทัด จึงทำซ้ำคำสั่งก่อนหน้า

6. การลงทะเบียนบัฟเฟอร์สำรอง (“#)

บัฟเฟอร์สำรองคือไฟล์ที่ถูกเปิดในบัฟเฟอร์ปัจจุบัน “# register จะเก็บชื่อไฟล์ของไฟล์ที่บัฟเฟอร์ไว้ในบัฟเฟอร์ปัจจุบัน มาเปิดไฟล์อื่นในบัฟเฟอร์เดียวกันโดยใช้ :e ~/.vimrc คำสั่ง โปรดทราบว่าชื่อไฟล์ปัจจุบันคือ ไฟล์.txt .

หากต้องการปิดบัฟเฟอร์ที่เปิดอยู่ ให้ใช้ :bdelete หรือ :bwipeout สั่งการ. ตอนนี้คุณสามารถดูชื่อไฟล์สำรองที่บันทึกไว้ในไฟล์ “# ลงทะเบียน.

7. การลงทะเบียนนิพจน์ (“=)

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

การลงทะเบียนนี้สามารถเข้าถึงได้โดยใช้ “= ในโหมดปกติ และ Ctrl+r = ในโหมดแทรก

ตัวอย่างเช่น หากต้องการค้นหาความแตกต่างระหว่างตัวเลขสองตัว ให้กด “= แล้วเครื่องหมายเท่ากับจะปรากฏในแถบสถานะ ตอนนี้พิมพ์ตัวเลขทั้งสองโดยมีเครื่องหมายลบ (-) อยู่ในนั้นแล้วกดปุ่ม เข้า สำคัญ. ตอนนี้ หากต้องการพิมพ์ความแตกต่าง ให้กด พี หรือใช้ :ใส่ สั่งการ.

ในการเข้าถึงค่าของการลงทะเบียนนิพจน์ ให้ใช้ :reg “= สั่งการ.

ในทำนองเดียวกัน หากต้องการหาค่าสัมบูรณ์ของตัวเลขสองตัว ให้ใช้ =abs(value1-value2) การแสดงออก.

ในทำนองเดียวกัน ในการจัดเก็บเอาต์พุตของคำสั่งระบบ คุณสามารถใช้รีจิสเตอร์ (นิพจน์) นี้ เช่น ถ้าฉันต้องการอ่านเนื้อหาของไฟล์ฉันจะใช้ =system('cat <ชื่อไฟล์>') เมื่อกดปุ่ม Return เนื้อหาของเอาต์พุตจะถูกจัดเก็บ ใช้ พี หรือ :ใส่ คำสั่งสามารถใส่เนื้อหาของเอาต์พุตลงในบัฟเฟอร์ได้

มีสำนวนมากมายที่สามารถใช้ใน Vim ได้ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับนิพจน์ Vim ให้ใช้ :ช่วยแสดงออก และ :help นิพจน์ไวยากรณ์ คำสั่ง

8. การเลือกและการลงทะเบียนการลงทะเบียน (“*, “+, “~)

Vim มีการลงทะเบียนการเลือกสองรายการ “* (เครื่องหมายคำพูด) และ “+ (quoteplus) ซึ่งใช้จัดเก็บข้อความจาก GUI รีจิสเตอร์เหล่านี้ใช้เพื่อคัดลอกข้อความจากโปรแกรมภายนอก เช่น เบราว์เซอร์หรือโปรแกรมประมวลผลคำอื่นๆ

ตัวอย่างเช่น หากคุณคัดลอกข้อความที่เลือกจากเบราว์เซอร์ โดยใช้ Ctrl+ค หรือ cmd+ค มันจะถูกเก็บไว้ใน “* ลงทะเบียน. อย่างไรก็ตาม คุณไม่สามารถใช้ พี หรือ :ใส่ เพื่อวางข้อความนี้ในตัวแก้ไข Vim ใช้ “*น เพื่อใส่ข้อความลงในโปรแกรมแก้ไข Vim ที่คัดลอกมาจากแอปพลิเคชันภายนอก

สิ่งสำคัญคือต้องทราบว่าทั้งสองอย่าง “+ และ “* รีจิสเตอร์เชื่อมต่อกับคลิปบอร์ด ดังนั้นทั้งคู่ (“*พี, “+พี) สามารถใช้เพื่อวางข้อความลงในโปรแกรมแก้ไข Vim ในทำนองเดียวกัน หากต้องการใส่ข้อความจาก Vim ให้ใช้ “*ใช่ เพื่อดึงเส้นแล้ววางลงในแอปพลิเคชัน GUI ใด ๆ ให้ใช้ Ctrl+v หรือ cmd+v

เป็นสิ่งสำคัญที่จะต้องทราบว่าหากทั้งสองลงทะเบียน (* & +) กำลังทำสิ่งเดียวกัน แล้วประเด็นคืออะไร? Vim มีการลงทะเบียนการเลือกสองรายการ “*, “+ ทำงานเหมือนเดิมและนั่นเป็นเพราะระบบหน้าต่าง X11 X11 มีสองวิธีในการจัดเก็บข้อความ วิธีแรกคือ การเลือก และอีกอย่างคือ ตัดบัฟเฟอร์ . แอปพลิเคชันเป็นเจ้าของตัวเลือกและจะหายไปเมื่อปิดแอปพลิเคชัน ในขณะที่บัฟเฟอร์ที่ตัดจะเก็บข้อความไว้ใน X-server สำหรับพื้นที่จัดเก็บข้อมูลทั้งสองประเภทนี้ จะใช้รีจิสเตอร์ “* และ “+ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับเรื่องนี้ ให้ใช้ :help x11-selection สั่งการ.

ต่อไป วางการลงทะเบียน “~ ซึ่งใช้สำหรับจัดเก็บข้อความจากการลากและวางครั้งล่าสุด ตัวอย่างเช่น หากคุณทิ้งการเลือกข้อความจากแอปพลิเคชันภายนอก ข้อความนั้นจะถูกจัดเก็บไว้ใน drop register

หากคุณพบว่าการวางจากแอปพลิเคชันภายนอกโดยใช้คีย์ที่แตกต่างกันสามคีย์ทำได้ยาก คุณสามารถแมปส่วนที่เลือกเพื่อจัดเก็บไว้ในรีจิสเตอร์ที่ไม่มีชื่อได้
เปิด vimrc ไฟล์, ชุดสถานที่ คลิปบอร์ด=ไม่มีชื่อ ในนั้นและบันทึกไฟล์ ตอนนี้เมื่อใดก็ตามที่คุณคัดลอกจากแอปพลิเคชันภายนอก ก็สามารถวางได้อย่างง่ายดายโดยใช้ :ใส่ คำสั่งหรือปุ่ม p

บันทึก : drop register (~) จะใช้ได้ก็ต่อเมื่อ Vim คอมไพล์ด้วย +dnd ปัจจุบันใช้ได้เฉพาะกับ GTK GUI เท่านั้น

9. การลงทะเบียนหลุมดำ (“_)

หากคุณทำการคัดลอกหรือลบในตัวแก้ไข Vim โดยค่าเริ่มต้นจะเก็บข้อความไว้ในรีจิสเตอร์ หากคุณต้องการลบข้อความโดยไม่จัดเก็บไว้ในรีจิสเตอร์ ให้ใช้รีจิสเตอร์หลุมดำ การลงทะเบียนนี้จะไม่แก้ไขการลงทะเบียนที่ไม่มีชื่อ (“”) เมื่อลบข้อความ

ตัวอย่างเช่น หากฉันต้องการลบบรรทัดทั้งหมดโดยไม่เก็บไว้ในทะเบียนที่ไม่มีชื่อ ฉันจะเลือกบรรทัดทั้งหมดก่อนโดยใช้ ggVG แล้วกด “_ง ปุ่มเพื่อลบบรรทัดทั้งหมด ในทำนองเดียวกัน หากต้องการลบเส้นเดียวบนหลุมดำ ให้ใช้ “_dd .

10. การลงทะเบียนรูปแบบการค้นหาล่าสุด (“/)

ตามชื่อที่แนะนำ รีจิสเตอร์นี้จะบันทึกรูปแบบการค้นหาล่าสุดโดยใช้ / หรือ ? ตัวดำเนินการ เช่น หากคุณค้นหา /ลินุกซ์ จากนั้นจึงใช้ “/น จะวางคำว่า Linux

Vim ใช้รีจิสเตอร์นี้เพื่อนำทางด้วย n และ เอ็น ปุ่มหลังจากการค้นหา

เป็นรีจิสเตอร์แบบเขียนได้ เนื้อหาสามารถเปลี่ยนแปลงได้โดยใช้ :let ตัวอย่างเช่น หากต้องการบันทึก Linux ลงในรีจิสเตอร์นี้ ให้ใช้ :let @/='Linux'

รีจิสเตอร์และมาโคร

ใน Vim มาโครจะถูกบันทึกในรีจิสเตอร์ที่มีชื่อ (a-z) ด้วย หากคุณไม่ทราบถึงแมโคร แมโครจะถูกตั้งค่าคำสั่งที่จัดเก็บไว้ในรีจิสเตอร์ ชุดคำสั่งนี้สามารถดำเนินการได้โดยใช้เครื่องหมาย @ ตามด้วยชื่อมาโครรีจิสเตอร์ โดยพื้นฐานแล้ว มาโครจะขจัดความจำเป็นในการพิมพ์คำสั่งหลายคำสั่งซ้ำๆ

ตัวอย่างเช่น เมื่อต้องการจัดเก็บแมโครลงในรีจิสเตอร์ ฉันจะใช้ qm<ชุดคำสั่ง>q . ฉันต้องการที่จะย้ายไปที่ 5 เส้นลงโดยใช้ 5จ และลบบรรทัดโดยใช้ วว . ใช้, คิวเอ็ม เพื่อเริ่มการบันทึกมาโคร จากนั้นกด 5จ และ วว . ตอนนี้ หากต้องการออกจากการบันทึกมาโคร ให้กด ถาม . เพื่อตรวจสอบว่าแมโครถูกจัดเก็บหรือไม่ใช้งาน :reg “m หรือ :reg m.

หากต้องการดำเนินการคำสั่งเหล่านี้ด้วยการลงทะเบียนแมโคร ให้ใช้ :@ม สั่งการ.

เคลียร์ทะเบียน

ไม่มีแนวทางที่ตรงไปตรงมาในการล้างข้อมูลทะเบียน เนื่องจากทะเบียนส่วนใหญ่ไม่จำเป็นต้องถูกล้าง เนื่องจากในที่สุดแล้วจะถูกเขียนทับ อย่างไรก็ตาม มีเทคนิคบางประการในการล้างค่ารีจิสเตอร์ในตัวแก้ไข Vim

1. บันทึกแมโครว่างเพื่อล้างการลงทะเบียน ตัวอย่างเช่น หากต้องการล้าง register m ให้ใช้ ตร.ม .

2. ตั้งค่าข้อความว่างโดยใช้ อนุญาต . ตัวอย่างเช่น หากต้องการล้าง register m ให้ใช้ :let @m=”.

3. ใช้ เซเรก() ฟังก์ชันที่มีสตริงว่างเป็นอาร์กิวเมนต์ ตัวอย่างเช่นหากต้องการล้างการลงทะเบียน m ให้ใช้ :call setreg('m', ”)

บทสรุป

มีรีจิสเตอร์ที่แตกต่างกัน 10 รายการพร้อมฟังก์ชันการทำงานที่แตกต่างกัน ซึ่งทำให้แทบจำไม่ได้ หากคุณเป็นมือใหม่ ฉันขอแนะนำให้คำนึงถึงการลงทะเบียนเพียงสามรายการเท่านั้น การลงทะเบียนที่ไม่มีชื่อ (“”) , เลขทะเบียน (0-9) และตั้งชื่อทะเบียน (ก-ฮ) .

หากต้องการจัดเก็บข้อความในการลงทะเบียน ให้ใช้เครื่องหมายคำพูด (“) ลงชื่อด้วยชื่อรีจิสเตอร์ตามด้วยคำสั่งโอเปอเรเตอร์ (ใช่ ง ค) . หากต้องการวางข้อความจากรีจิสเตอร์ ให้ใช้คำสั่ง p หรือ P ที่นำหน้าด้วยเครื่องหมายคำพูด (“) และลงทะเบียนชื่อ

คุณต้องเคยได้ยินเรื่องนี้มาก่อน หากคุณทำงานมากกว่าสองครั้ง ให้ทำให้เป็นอัตโนมัติ การลงทะเบียน Vim มีประโยชน์อย่างมากในการทำงานอัตโนมัติและปรับปรุงประสบการณ์ในท้ายที่สุด หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการลงทะเบียน Vim ให้ใช้ :ช่วยลงทะเบียน สั่งการ.