โพสต์นี้เผยแพร่ในฟอรัมเมื่อสองสามเดือนก่อนฉันคิดว่าถึงเวลาแล้วที่ฉันจะไปที่บล็อกข้อสงสัยความคิดเห็นทุกอย่างสามารถทำได้ในความคิดเห็นโปรด อย่าลุกเป็นไฟ หากคุณไม่ชอบ Vim ก็ออกจากโพสต์
ฉันจะข้ามส่วนพื้นฐานไปเพราะมันจะครอบคลุมมากหากคุณต้องการหรือสนใจที่จะเรียนรู้ฉันขอแนะนำให้คุณเรียกใช้จากเทอร์มินัล
$วิมติวเตอร์
เพื่อไม่ให้เป็นการเสียเวลา เราจึงเริ่ม
มาโครใน VIM
มันอาจไม่ใช่หนึ่งในความลึกลับที่ยิ่งใหญ่ของ vim แต่เป็นการดีที่จะรู้ว่า vim มีการรองรับมาโครจึงเป็นไปได้ที่จะจัดเก็บมาโครจาก a ไปยัง z ; ในการเริ่มบันทึกคุณจะต้องกดเท่านั้น q+จดหมาย เรากดเพื่อหยุดการบันทึก q และในการเรียกใช้มาโครมันเป็นสิ่งที่ต้องการ จำนวน+@+จดหมาย.
ที่อยู่:
จดหมาย: เป็นกุญแจสำคัญของไฟล์ a ไปยัง z.
จำนวน: เป็นจำนวนครั้งที่เราจะกระทำซ้ำ
สิ่งนี้จะอำนวยความสะดวกในการทำงานซ้ำ ๆ ตัวอย่างเช่น; สมมติว่าเรามีบรรทัดเหล่านี้:
หนึ่งตัวอย่างหนึ่งสองตัวอย่างสองสามตัวอย่างสามสี่ตัวอย่างสี่ห้าตัวอย่างห้า
เราต้องการให้รูปแบบนี้:
'one': 'ตัวอย่าง' 'one'; 'สอง': 'ตัวอย่าง' 'สอง'; 'สาม': 'ตัวอย่าง' 'สาม'; 'สี่': 'ตัวอย่าง' 'สี่'; 'ห้า': 'ตัวอย่าง' 'ห้า';
นี่คือจุดที่มาโครทำให้ทุกอย่างง่ายขึ้นสำหรับเรา
ลำดับที่ใช้:
qa ฉัน '[Esc] ea': [Esc] wi '[Esc] ea' [Esc] wi '[Esc] A'; [Esc] 0j q
จากนั้นวางเคอร์เซอร์บนเส้นเพื่อเปลี่ยนและใช้ จำนวน+@+จดหมาย ในกรณีนี้ฉันใช้ 4+@+a
แทนที่
เครื่องมือที่สำคัญมากใน Vim คือการแทนที่เนื่องจากเราอยู่ในโหมด Vim Normal โดยการกด Esc ต่อมาเรากด : และเราเขียนคำสั่ง ฉันพูดคำสั่งเพราะไม่ จำกัด เฉพาะการทดแทน คล้ายกันมากกับ RegEx
Ejemplos:
สิ่งที่พบบ่อยที่สุดในการเปลี่ยนสตริงอักขระทั่วทั้งเอกสาร:
คำสั่ง:
:% s / vim / Vim / g
แทนที่เป็นกลุ่มทั้งหมดโดยเป็นกลุ่ม ทราบ: ถ้าฉันไม่มีเครื่องหมาย % ฉันจะค้นหาเฉพาะบรรทัดที่คุณอยู่
แทนที่ระหว่างช่วงหนึ่งระหว่างบรรทัดที่ 3,5:
คำสั่ง:
: 3,5 วินาที / Vim / VIM / g
จากบรรทัดที่ 3 ถึง 5 แทนที่ Vim ด้วย VIM
โปรดทราบว่าไม่มี g ในตอนท้ายจะแก้ไขเฉพาะคำแรกที่ตรงกันเท่านั้น
คำสั่ง:
: 3,5 วินาที / Vim / VIM
ด้วยบรรทัดนี้เราจะกำจัดบรรทัดทั้งหมดที่มีไฟล์ #
คำสั่ง:
:., $ g / # / d
ของบรรทัดปัจจุบัน . จนจบเอกสาร $ มองหาตัวเลข # และลบออก d
คำสั่งเรียงลำดับส่วนไฟล์
คำสั่ง:
: 3, $ sort
จากบรรทัดที่ 3 ไปยังจุดสิ้นสุดของเอกสารเรียงลำดับ
คำสั่งอื่น ๆ
นี่คือเคล็ดลับอยู่ในคำสั่ง :r อ่าน สิ่งนี้ทำหน้าที่อะไรเมื่อชื่อบอกว่าฮ่าฮ่าฮ่าอ่านแล้วคุณสามารถเพิ่มข้อความของเอกสารอื่นได้ แต่ในตัวอย่างนี้เราเพิ่มตัวบ่งชี้ ! ว่าสิ่งนี้แยกกันเพื่อดำเนินการเป็นไปได้ที่จะเรียกใช้สคริปต์จากกลุ่มเดียวกันเพื่อดีบักหรืออะไรก็ตามที่คุณคิดได้จากตัวอย่าง:
คำสั่งตามลำดับที่ปรากฏ:
#Date :: r! Date #Date with format :: r! Date + \% D #List directory :: r! ls Documents
ฉันใช้คำสั่งทั่วไป แต่ vim ใช้ผลลัพธ์ของคำสั่งใด ๆ และแทรกเป็นข้อความในเอกสาร
และนี่เป็นเพียงส่วนเล็ก ๆ เท่านั้นยังมีอีก ... และสิ่งที่ฉันไม่รู้ฮ่า ๆ ๆ ๆ
การเลือก
สุดท้าย แต่ไม่ท้ายสุดคือสถานะภาพที่เราสามารถเลือกเส้นเพื่อจัดการได้อย่างง่ายดาย การเลือกภาพมีสามประเภท
v แสดงภาพตามตัวอักษร
V ภาพตามเส้น
ควบคุม+v ภาพโดยบล็อก
เลือกสิ่งที่อยู่ในวงเล็บ:
v% หากคุณอยู่ที่จุดเริ่มต้น / จุดสิ้นสุดของวงเล็บ
vib หากคุณอยู่ในวงเล็บ
เลือกสิ่งที่อยู่ในเครื่องหมายคำพูดคู่หรือเดี่ยว:
vi' เลือกคำพูดเดี่ยว
vi" เลือกเครื่องหมายคำพูดคู่
viB เลือกทุกอย่างที่อยู่ในคีย์
เลือกตามบรรทัด
ggVG เลือกทั้งเอกสาร
นี่คือโดยทั่วไป gg ไปเริ่มต้น; ป้อนตัวเลือกภาพ V; และไปที่จุดสิ้นสุด G.
เลือกตามบล็อก
ควบคุม+v
[ควบคุม] v e5j C [เขียนข้อความ] [esc] [esc]
และในสิ่งนี้คุณจะป้อนตัวเลือกภาพโดยบล็อก ควบคุมv, ฉันเลื่อนไปที่จุดสิ้นสุดของคำและ 5 บรรทัดลง 5j, ฉันลบคำด้วย C ฉันเขียนข้อความเพื่อแทนที่และกด Esc Esc.
อีกอันก็เหมือนกัน แต่แทนที่จะเป็น c มันเหมือนกับลบและเข้าสู่โหมดแทรก ฉันใช้ i เข้าสู่โหมดแทรก I ที่ตัวชี้อยู่
ทั้งหมดนี้ที่ผมอธิบายอาจจะดูลึกลับหรือคล้าย ๆ กับ vim ninja ฮ่า ๆ ๆ แต่มันไม่มีอะไรที่ไม่มีใน vim manual Vim มีเอกสารที่ดีที่สุดเล่มหนึ่งที่ฉันรู้จัก ในการป้อนเอกสารเพียงแค่ใส่
: ช่วยด้วย
หากคุณต้องการบางสิ่งบางอย่างที่เฉพาะเจาะจง
: help: w
สิ่งนี้จะนำคุณไปยังส่วนที่พูดถึง: w บันทึก.
ตอนนี้ใช่แล้ว... ชาว Vim ที่มีความสุข











