Vim - คู่มือฉบับย่อ
Vim Editor เป็นหนึ่งในโปรแกรมแก้ไขข้อความยอดนิยมที่เราใช้ในปัจจุบัน เป็นโคลนของโปรแกรมแก้ไข Vi และเขียนโดย Bram Moolenaar เป็นโปรแกรมแก้ไขข้ามแพลตฟอร์มและพร้อมใช้งานบนแพลตฟอร์มยอดนิยมเช่น Windows, Linux, Mac และ UNIX อื่น ๆ ในบทนี้เราจะพูดถึงรายการต่อไปนี้ -
- Introduction
- คุณสมบัติของ Vim
- ทำไม Vim ถูกสร้างขึ้น?
บทนำ
Vim เป็นคำย่อของ Vi IMพิสูจน์แล้ว. เป็นโปรแกรมแก้ไขข้อความโอเพ่นซอร์สฟรีและเขียนโดย Bram Moolenaar เปิดตัวครั้งแรกในปี 1991 สำหรับรุ่น UNIX และเป้าหมายหลักคือการเพิ่มประสิทธิภาพให้กับตัวแก้ไข Vi ซึ่งเปิดตัวในปีพ. ศ. 2519
Vim ถือเป็นตัวแก้ไข Vi ของโคลน เช่นเดียวกับ Vi มันยังเป็นตัวแก้ไขคำสั่งเป็นศูนย์กลาง ข้อดีอย่างหนึ่งของการเรียนรู้เป็นกลุ่มคือ - สามารถใช้ได้ทุกที่ ใช้ตัวแปร UNIX เช่น Linux, Mac, HP-UX, AIX และอื่น ๆ อีกมากมาย Vim จะอยู่ที่นั่นตามค่าเริ่มต้น Vim ตามเนื้อผ้าไม่มี GUI แต่ตอนนี้มีตัวติดตั้งแยกต่างหากที่เรียกว่า gVim ซึ่งมี GUI
คุณสมบัติของ Vim
ส่วนนี้จะกล่าวถึงคุณสมบัติที่สำคัญบางประการของ Vim -
รอยความจำมันต่ำมาก
เป็นศูนย์กลางการบังคับบัญชา คุณสามารถทำงานที่เกี่ยวข้องกับข้อความที่ซับซ้อนได้โดยใช้คำสั่งเพียงไม่กี่คำ
สามารถกำหนดค่าได้สูงและใช้ไฟล์ข้อความอย่างง่ายเพื่อจัดเก็บการกำหนดค่า
มีปลั๊กอินมากมายสำหรับ Vim ฟังก์ชันนี้สามารถขยายได้อย่างดีเยี่ยมโดยใช้ปลั๊กอินเหล่านี้
รองรับหลายหน้าต่าง การใช้หน้าจอคุณสมบัตินี้สามารถแบ่งออกเป็นหลายหน้าต่างได้
เช่นเดียวกับหลาย ๆ หน้าต่างนอกจากนี้ยังรองรับบัฟเฟอร์หลายตัว
รองรับหลายแท็บซึ่งอนุญาตให้ทำงานกับไฟล์หลายไฟล์
รองรับคุณสมบัติการบันทึกซึ่งอนุญาตให้บันทึกและเล่นคำสั่ง Vim ในลักษณะซ้ำ ๆ
ทำไม Vim จึงถูกสร้างขึ้น
Vim มีพื้นฐานมาจากตัวแก้ไข Vi ดั้งเดิมซึ่งสร้างโดย Bill Joy ในปี 1976 ในช่วงทศวรรษที่ 90 Vi ขาดสิ่งที่เรียกว่าสงครามบรรณาธิการระหว่างตัวแก้ไข Vi และ Emacs ดังนั้น Bram จึงใช้คุณสมบัติที่ขาดหายไปมากมายที่ชุมชน Emacs ใช้เป็นข้อโต้แย้งว่าทำไม Emacs ถึงดีกว่า Vi / Vim
Vim เป็นแพ็คเกจที่มีน้ำหนักเบาและการติดตั้งนั้นง่ายมาก ในบทนี้เราจะพูดถึงรายการต่อไปนี้ -
- การติดตั้งบนแพลตฟอร์ม Windows
- การติดตั้งบน Linux ที่ใช้ Debian
- การติดตั้งบน RPM ที่ใช้ Linux
การติดตั้งบนแพลตฟอร์ม Windows
Vim ไม่มีข้อกำหนดเฉพาะใด ๆ เป็นชุดซอฟต์แวร์ที่เรียบง่ายซึ่งให้การอ้างอิงทั้งหมด
การติดตั้ง
ดาวน์โหลด Vim ไปที่vim.org
คลิกที่ตัวเลือกดาวน์โหลดจากบานหน้าต่างด้านซ้าย
คลิกที่ตัวเลือกPC - MS-DOS และ MS-Windows
ดาวน์โหลดตัวติดตั้ง. exeจากหน้านี้ ในขณะที่เขียนชื่อโปรแกรมติดตั้งบทช่วยสอนนี้คือgvim80.exe
ดับเบิลคลิกที่โปรแกรมติดตั้งและปฏิบัติตามคำแนะนำบนหน้าจอเพื่อทำการติดตั้งให้เสร็จสิ้น
การกำหนดค่า
Vim เก็บการกำหนดค่าไว้ในไฟล์ข้อความง่ายๆคือ _vimrc และอยู่ภายใต้โฮมไดเร็กทอรีของผู้ใช้
หากต้องการค้นหาโฮมไดเร็กทอรีของผู้ใช้ปัจจุบันให้ดำเนินการคำสั่งด้านล่างในเทอร์มินัล -
$ echo %userprofile%
ไปที่โฮมไดเร็กทอรีและสร้างไฟล์ใหม่คือ _vimrc ตรวจสอบให้แน่ใจว่าไฟล์นี้ไม่มีนามสกุลใด ๆ
เปิดไฟล์นี้ในโปรแกรมแก้ไขข้อความป้อนข้อความต่อไปนี้และบันทึก -
set nu
ตอนนี้กลุ่มจะแสดงหมายเลขบรรทัดเมื่อเปิดไฟล์ เราจะเพิ่มตัวเลือกเพิ่มเติมให้กับไฟล์นี้ในภายหลัง
การติดตั้งบน Linux ที่ใช้ Debian
การติดตั้งบนแพลตฟอร์ม Linux นั้นค่อนข้างง่ายเมื่อเทียบกับ Windows ส่วนนี้อธิบายการติดตั้งและการกำหนดค่าบน Debian ที่ใช้ Linux
การติดตั้ง
ดำเนินการคำสั่งด้านล่างในเทอร์มินัล -
$ sudo apt-get update
$ sudo apt-get install vim
เพื่อให้แน่ใจว่ามีการติดตั้ง Vim อย่างถูกต้องให้ดำเนินการคำสั่งด้านล่าง -
$ which vim
ควรพิมพ์ตำแหน่งของ Vim binary ในกรณีของฉันมันคือ -
/usr/bin/vim
การกำหนดค่า
Vim เก็บการกำหนดค่าไว้ในไฟล์ข้อความง่ายๆคือ. vimrc และอยู่ภายใต้โฮมไดเร็กทอรีของผู้ใช้
หากต้องการค้นหาโฮมไดเร็กทอรีของผู้ใช้ปัจจุบันให้ดำเนินการคำสั่งด้านล่างในเทอร์มินัล -
$ echo $HOME
ไปที่โฮมไดเร็กทอรีและสร้างไฟล์ใหม่คือ. vimrc ตรวจสอบให้แน่ใจว่าไฟล์นี้ไม่มีนามสกุลใด ๆ
เปิดไฟล์นี้ในโปรแกรมแก้ไขข้อความป้อนข้อความต่อไปนี้และบันทึก -
set nu
ตอนนี้กลุ่มจะแสดงหมายเลขบรรทัดเมื่อเปิดไฟล์ เราจะเพิ่มตัวเลือกเพิ่มเติมให้กับไฟล์นี้ในภายหลัง
การติดตั้งบน RPM ที่ใช้ Linux
ส่วนนี้อธิบายการติดตั้งและการกำหนดค่าบน RPM ที่ใช้ Linux
การติดตั้ง
ดำเนินการคำสั่งด้านล่างในเทอร์มินัล -
$ su - $ yum install vim
เพื่อให้แน่ใจว่ามีการติดตั้ง Vim อย่างถูกต้องให้ดำเนินการคำสั่งด้านล่าง -
$ which vim
ควรพิมพ์ตำแหน่งของ Vim binary ในกรณีของฉันมันคือ -
/usr/bin/vim
การกำหนดค่า
Vim เก็บการกำหนดค่าไว้ในไฟล์ข้อความง่ายๆคือ. vimrc และอยู่ภายใต้โฮมไดเร็กทอรีของผู้ใช้
หากต้องการค้นหาโฮมไดเร็กทอรีของผู้ใช้ปัจจุบันให้ดำเนินการคำสั่งด้านล่างในเทอร์มินัล -
$ echo $HOME
ไปที่โฮมไดเร็กทอรีและสร้างไฟล์ใหม่คือ. vimrc ตรวจสอบให้แน่ใจว่าไฟล์นี้ไม่มีนามสกุลใด ๆ
เปิดไฟล์นี้ในโปรแกรมแก้ไขข้อความป้อนข้อความต่อไปนี้และบันทึก -
set nu
ตอนนี้กลุ่มจะแสดงหมายเลขบรรทัดเมื่อเปิดไฟล์ เราจะเพิ่มตัวเลือกเพิ่มเติมให้กับไฟล์นี้ในภายหลัง
Vim เป็นโคลนของตัวแก้ไข Vi ดั้งเดิม ในบทนี้เราจะพูดถึง Vi clones อื่น ๆ จุดประสงค์หลักของบทนี้เพื่อทำความรู้จักกับโคลนอื่น ๆ และความเข้ากันได้กับตัวแก้ไข Vi ดั้งเดิม
ในบทนี้เราจะพูดถึงรายการต่อไปนี้ -
- Vi
- Stevie
- Elvis
- nvi
- vile
- เข้ากันได้กับ Vi เดิม
Vi
Vi เป็นตัวย่อของ Visual เป็นโปรแกรมแก้ไขข้อความที่เน้นหน้าจอที่สร้างขึ้นสำหรับ UNIX โค้ดดั้งเดิมสำหรับ Vi เขียนโดย Bill Joy ในปี 1976 และเปิดตัวครั้งแรกบนแพลตฟอร์ม BSD Vi เป็นส่วนขยายของ ed editor ซึ่งพบได้บ่อยที่สุดในเวลานั้น
Vim เป็นบรรณาธิการคนแรกที่แนะนำโหมดหลายโหมด มีโหมดแยกต่างหากสำหรับแก้ไขข้อความเลือกข้อความและเรียกใช้คำสั่ง Vim Editor รองรับโหมดเหล่านี้ทั้งหมด ส่วนต่อมาของบทช่วยสอนนี้อธิบายถึงโหมดเหล่านี้
สตีวี่
Stevie Editor ได้รับการพัฒนาสำหรับแพลตฟอร์ม Atari ST เปิดตัวในปี 2530 เป็นตัวย่อของ ST Editor สำหรับ VI กระตือรือร้น
มันง่ายมากและมีเพียงส่วนเล็ก ๆ ของตัวแก้ไข Vi ดั้งเดิม อย่างไรก็ตามมันให้สภาพแวดล้อมที่คุ้นเคยกับผู้ใช้ที่ย้ายบนแพลตฟอร์ม Atari ST
เอลวิส
ความตั้งใจหลักของ Elvis คือการลบข้อ จำกัด ของบรรณาธิการ Stevie Stevie เคยโหลดไฟล์ทั้งหมดใน RAM เอลวิสได้ลบข้อ จำกัด นี้โดยการแนะนำบัฟเฟอร์ นอกจากนี้ยังเพิ่มฟังก์ชั่นบางอย่างเข้าไปเช่นการเน้นไวยากรณ์การรองรับหลายหน้าต่างการรองรับระบบเครือข่ายและ GUI ที่เรียบง่าย
nvi
nvi ย่อมาจาก Vi ใหม่ เป็นผลมาจากข้อพิพาทด้านใบอนุญาตระหว่างห้องปฏิบัติการ AT & T และ Computer Science Research Group (CSRC) ที่มหาวิทยาลัยแคลิฟอร์เนียเบิร์กลีย์ Vi ใช้โปรแกรมแก้ไข ed และอยู่ภายใต้ใบอนุญาตของ AT & T ซึ่ง จำกัด ไม่ให้เผยแพร่ Vi กับ BDS ดังนั้นพวกเขาจึงเขียน Vi ใหม่และเผยแพร่ภายใต้ใบอนุญาต BSD
เป็นกลุ่ม
Vim เป็นเวอร์ชันปรับปรุงของ Vi และได้เพิ่มคุณสมบัติมากมายที่ Vi ล้าหลัง เพิ่มคุณสมบัติที่มีประโยชน์มากมายเช่น -
- หลายหน้าต่าง / แท็บ / บัฟเฟอร์
- บทนำของภาษาสคริปต์ Vim
- เน้นไวยากรณ์มากกว่า 200 ภาษา
- การผสานรวมกับคอมไพเลอร์ล่ามและผู้ตรวจแก้จุดบกพร่อง
เลวทราม
Vile เป็นคำย่อที่ย่อมาจาก Vi เช่น Emacs และเป็นความพยายามที่จะนำคุณสมบัติยอดนิยมจากตัวแก้ไขทั้งสองมารวมกันเป็นหนึ่งเดียว คุณสมบัติยอดนิยมบางประการของ Vile ได้แก่ -
- โหมดแก้ไขหนึ่งโหมดสำหรับไฟล์แต่ละประเภท
- การแนะนำภาษาขั้นตอนที่ชั่วร้าย
- ตั้งชื่อฟังก์ชันให้กับคีย์ที่ผูกไว้ตามที่ผู้ใช้เลือก
เข้ากันได้กับ Vioriginal Vi
แม้ว่าบรรณาธิการที่กล่าวถึงข้างต้นจะถือว่าเป็น Vi clones แต่ก็ไม่สามารถใช้งานร่วมกับ Vi ดั้งเดิมได้ 100% ตารางด้านล่างแสดงรายละเอียดเพิ่มเติมเกี่ยวกับความเข้ากันได้ -
โคลน | ความเข้ากันได้ของ Vi | หมายเหตุ |
---|---|---|
สตีวี่ | 10% | คุณลักษณะที่ จำกัด เป็นเรื่องปกติ |
เลวทราม | 10% | คุณสมบัติที่ จำกัด และโหมด Vi เป็นเรื่องปกติ |
เอลวิส | 80% | คุณสมบัติที่ใหญ่ขึ้นเป็นเรื่องธรรมดา |
nvi | 95% | คุณสมบัติที่ใหญ่ขึ้นเป็นเรื่องธรรมดา |
เป็นกลุ่ม | 99% | เกือบจะเหมือนกับ Vi ด้วยคุณสมบัติเพิ่มเติมบางประการ |
เริ่มต้นด้วยส่วนนี้เราจะทำให้มือของเราสกปรกด้วย Vim ในบทนี้เราจะพูดถึงรายการต่อไปนี้ -
เริ่มเป็นกลุ่ม
โหมด Vim
สร้างไฟล์ใหม่
ดูไฟล์ในโหมดอ่านอย่างเดียว
แก้ไขไฟล์ที่มีอยู่
เริ่มเป็นกลุ่ม
Vim แตกต่างจากโปรแกรมแก้ไขที่ใช้ GUI ในปัจจุบันเล็กน้อย สามารถเริ่มต้นและใช้งานได้จาก GUI เช่นเดียวกับเทอร์มินัล
ใช้ตัวเรียกใช้แบบกราฟิก
ในการเริ่มต้นเป็นกลุ่มจากตัวเรียกใช้แบบกราฟิกเพียงดับเบิลคลิกที่ไอคอน gVim จะเปิดหน้าต่างแก้ไขดังนี้ -
ใช้เทอร์มินัล
การใช้ Vim จากเทอร์มินัลจะเหมือนกันบน Windows เช่นเดียวกับแพลตฟอร์ม Linux ทำตามขั้นตอนต่อไปนี้เพื่อเริ่มและออกจาก Vim จากเทอร์มินัล -
เปิดเทอร์มินัลและป้อนคำสั่ง vim ดังนี้ -
$ vim
มันจะเปิด Vim ในเทอร์มินัลดังนี้ -
หากต้องการปิดสิ่งนี้ให้กดแป้น Esc ตามด้วยโคลอน (:) และ q ในคำสั่ง Vim q หมายถึงการเลิก คำสั่งนี้จะแสดงที่มุมล่างซ้ายของตัวแก้ไข -
โหมด Vim
Vim รองรับหลายโหมด ส่วนนี้จะกล่าวถึงโหมดสำคัญบางอย่างซึ่งจะใช้เป็นประจำทุกวัน
โหมดคำสั่ง
นี่คือโหมดเริ่มต้นที่ Vim เริ่มทำงาน เราสามารถป้อนคำสั่งเอดิเตอร์ในโหมดนี้ เราสามารถใช้คำสั่งต่างๆในโหมดนี้เช่นคัดลอกวางลบแทนที่และอื่น ๆ อีกมากมาย เราจะพูดถึงคำสั่งเหล่านี้ในส่วนต่อไป
NOTE − Here onwards, any Vim command without colon indicates that we are executing that command in command mode.
แทรกโหมด
คุณสามารถใช้โหมดนี้เพื่อป้อน / แก้ไขข้อความ หากต้องการเปลี่ยนจากคำสั่งเริ่มต้นเป็นโหมดแทรกให้กดปุ่ม i จะแสดงโหมดปัจจุบันที่มุมล่างซ้ายของตัวแก้ไข
เราสามารถป้อนข้อความใดก็ได้เมื่ออยู่ในโหมดแทรก ภาพด้านล่างแสดงสิ่งนี้ -
ใช้ปุ่ม Escape เพื่อเปลี่ยนกลับเป็นโหมดคำสั่งจากโหมดนี้
โหมดบรรทัดคำสั่ง
โหมดนี้ยังใช้ในการป้อนคำสั่ง คำสั่งในโหมดนี้เริ่มต้นด้วยโคลอน (:) ตัวอย่างเช่นในส่วนก่อนหน้าคำสั่งเลิกถูกป้อนในโหมดนี้ เราสามารถไปที่โหมดนี้ได้จากโหมดคำสั่งหรือโหมดแทรก
หากต้องการเปลี่ยนจากโหมดคำสั่งเป็นโหมดนี้ให้พิมพ์โคลอน
หากต้องการเปลี่ยนจากโหมดแทรกเป็นโหมดนี้ให้กด Escape และพิมพ์โคลอน
ในเครื่องหมายทวิภาคของภาพด้านล่างที่ด้านล่างซ้ายหมายถึงโหมดเส้น
NOTE − Here onwards, any Vim command starting with colon indicates that we are executing that command in command line mode.
โหมดภาพ
ในโหมดนี้เราสามารถเลือกข้อความและเรียกใช้คำสั่งในส่วนที่เลือกได้
หากต้องการเปลี่ยนจากโหมดคำสั่งเป็นโหมดภาพให้พิมพ์ v
หากต้องการเปลี่ยนจากโหมดอื่นเป็นโหมดภาพก่อนอื่นให้สลับกลับไปที่โหมดคำสั่งโดยกด Escape จากนั้นพิมพ์ v เพื่อเปลี่ยนเป็นโหมดภาพ
ในภาพด้านล่างมุมล่างซ้ายจะแสดงโหมดภาพ
สร้างไฟล์ใหม่
ทำตามขั้นตอนด้านล่างเพื่อสร้างและบันทึกไฟล์ใหม่ -
ดำเนินการคำสั่งต่อไปนี้เพื่อเปิด Vim
$ vim
พิมพ์คำสั่งต่อไปนี้ใน Vim
:edit message.txt
เปลี่ยนเป็นโหมดแทรก
มันจะโหลดไฟล์ใหม่ถ้ามีอยู่แล้ว
i
ป้อนข้อความ
เปลี่ยนกลับไปที่โหมดคำสั่ง
Esc
บันทึกการเปลี่ยนแปลงลงในไฟล์
:w
ตอนนี้ไฟล์ message.txt จะถูกสร้างขึ้น
ออกจาก Vim
:q
เปิดไฟล์ในโหมดอ่านอย่างเดียว
ใช้ตัวเลือก –R เพื่อเปิดไฟล์ในโหมดอ่านอย่างเดียว
$ vim -R message.txt
ในภาพด้านล่างมุมล่างซ้ายแสดงโหมดอ่านอย่างเดียว -
หรือคุณสามารถใช้คำสั่ง view เพื่อให้ได้ผลลัพธ์เดียวกัน
$ view message.txt
แก้ไขไฟล์ที่มีอยู่
ทำตามขั้นตอนด้านล่างเพื่อแก้ไขไฟล์ที่มีอยู่ -
เปิดไฟล์โดยใช้ Vim
$ vim message.txt
เปลี่ยนเป็นโหมดแทรกและป้อนข้อความที่นั่น
i
ออกจากตัวแก้ไขโดยไม่บันทึกการเปลี่ยนแปลง
:q!
บันทึกการเปลี่ยนแปลงและออกจากโปรแกรมแก้ไขโดยใช้คำสั่งต่อไปนี้ -
หรือ
:wq
Vim เป็นโปรแกรมแก้ไขที่มีคุณสมบัติมากมายดังนั้นการจดจำทุกอย่างเกี่ยวกับเรื่องนี้จะเป็นเรื่องยาก แต่ไม่จำเป็นต้องกังวลเราสามารถขอความช่วยเหลือได้ตลอดเวลา โชคดีที่ความช่วยเหลือนี้จัดทำโดย Vim เอง
ในบทนี้เราจะพูดถึงรายการต่อไปนี้ -
- เข้าถึงคู่มือช่วยเหลือ
- ช่วยในหัวข้อเฉพาะ
- ค้นหาวลีช่วยเหลือในคู่มือ
- เข้าถึงความช่วยเหลือออนไลน์
เข้าถึงคู่มือช่วยเหลือ
คู่มือช่วยเหลือมาพร้อมกับตัวแก้ไข Vim และครอบคลุมจริงๆ ในการเข้าถึงวิธีใช้คำสั่งด้านล่าง -
:help
ช่วยในหัวข้อเฉพาะ
คู่มือช่วยเหลือจะแสดงความช่วยเหลือทั้งหมดเกี่ยวกับ Vim แต่ถ้าเราสนใจเฉพาะบางหัวข้อ Vim จัดเตรียมคำสั่งสำหรับสิ่งนั้นเช่นกันกับไวยากรณ์ต่อไปนี้
:help <topic-name>
ในคำสั่งด้านบนแทนที่ <topic-name> ด้วยหัวข้อที่คุณสนใจ เพื่อเข้าถึงความช่วยเหลือเกี่ยวกับโหมด vim ให้ดำเนินการคำสั่งต่อไปนี้
:help modes
ค้นหาวลีช่วยเหลือในคู่มือ
คุณสามารถค้นหาหัวข้อที่ต้องการได้ก็ต่อเมื่อคุณทราบชื่อ แต่ถ้าคุณไม่รู้ชื่อหัวข้อความช่วยเหลือที่แน่นอน ในกรณีนี้คุณสามารถใช้คำสั่งด้านล่าง -
:helpgrep <phrase>
ตัวอย่างเช่นหากต้องการเข้าถึงความช่วยเหลือเกี่ยวกับการนำทางใน Vim ให้ดำเนินการคำสั่งด้านล่าง
:helpgrep navigation
เข้าถึงความช่วยเหลือออนไลน์
Vim ยังให้ความช่วยเหลือออนไลน์ ในการเข้าถึงความช่วยเหลือออนไลน์ -
ไปที่vim-help URL
นอกจากนี้คุณยังสามารถดูเป็นกลุ่ม-เอกสารเอกสาร
Vim มีคำสั่งมากมายที่ทำให้ฟังก์ชันการแก้ไขมีประสิทธิภาพมาก ในบทนี้เราจะพูดถึงรายการต่อไปนี้ -
- Insert
- Append
- เปิดบรรทัดใหม่
- Substitute
- Change
- Replace
- Join
แทรกข้อความก่อนเคอร์เซอร์
ในการแทรกข้อความก่อนเคอร์เซอร์ให้ทำตามขั้นตอนต่อไปนี้ -
- ในการแทรกข้อความก่อนเคอร์เซอร์ให้ทำตามขั้นตอนต่อไปนี้
- เปลี่ยนเป็นโหมดแทรก
i
แทรกข้อความที่จุดเริ่มต้นของบรรทัด
ให้เราสมมติว่าคุณอยู่ตรงกลางบรรทัดและต้องการแทรกข้อความที่จุดเริ่มต้นของบรรทัดปัจจุบันจากนั้นทำตามขั้นตอนต่อไปนี้ -
- เปลี่ยนเป็นโหมดคำสั่ง
Esc
- เปิดใช้งานโหมดแทรก
I
การดำเนินการนี้จะย้ายเคอร์เซอร์ไปที่จุดเริ่มต้นของบรรทัดปัจจุบันและเปลี่ยนเป็นกลุ่มในโหมดแทรก
ต่อท้ายข้อความหลังเคอร์เซอร์
ในการต่อท้ายข้อความหลังจากเคอร์เซอร์ให้ทำตามขั้นตอนต่อไปนี้
- Switch to command mode and move cursor to appropriate position
Esc
- Switch to insert mode
a
This action will move cursor next by one position and switch Vim in insert mode.
Append text at the end of line
Let us suppose you are in the middle of line and you want to append text at the end of current line then perform following steps −
- Switch to command mode
Esc
- Switch to insert mode
A
This action will move cursor to the end of line and switch Vim in insert mode
Open new line below cursor
Let us suppose you are in the middle of line and you want to open new line below current line then perform following steps −
- Switch to command mode
Esc
- Switch to insert mode
o
This action will insert blank line below current line and switch Vim in insert mode
Open new line above cursor
Let us suppose you are in the middle of line and you want to open new line above current line then perform following steps −
- Switch to command mode
Esc
- Switch to insert mode
o
This action will insert blank line above current line and switch Vim in insert mode
Substitute text
Let us suppose you want to substitute single character then perform following steps −
- Switch to command mode
Esc
- Move cursor to appropriate position
- Switch to insert mode
s
This action will delete character under cursor and switch Vim in insert mode To substitute entire line use −
s
This action will delete entire line and switch Vim in insert mode.
Change text
Let us suppose you want to change text in current line then perform following steps −
- Switch to command mode
Esc
- Execute following command −
cc
This is similar to substitute action using S
To change text from current cursor position, execute following command
C
This action will delete text after current cursor position and switch Vim in insert mode.
Replace text
To replace single character perform following steps −
- Switch to command mode
Esc
- Move cursor to appropriate position
- Execute following command −
r
- Enter character to be substituted.
Note that this command will not switch Vim in insert mode
To replace entire line execute −
R
It will switch Vim in replace mode as shown in below image −
Join text
To join two lines perform following steps −
- Switch to command mode
Esc
- Move cursor to appropriate line
- Execute following command −
J
Vim has great support for advanced navigation. In this chapter, we’ll discuss some of the popular navigation techniques which help to improve productivity.
Basic navigation
In basic navigation we can navigate to left, right, up and down by position. Below commands can be used for this −
Sr.No | Command & Description |
---|---|
1 | h Move cursor to left by one position |
2 | l Move cursor to right by one position |
3 | k Move cursor to upward direction by one line |
4 | j Move cursor to downward direction by one line |
To perform multi-position navigation use number with these commands. For instance to navigate cursor 10 line below from current line, execute following command −
10j
You can use numbers with remaining commands as well.
In addition to this, below commands also perform some useful navigation.
Sr.No | Command & Description |
---|---|
1 | 0 Move cursor to the beginning of current line |
2 | $ Move cursor to the end of current line |
3 | Ctrl + f Scroll down entire page |
4 | Ctrl + b Scroll up entire page |
Navigate to lines
Below command can be used to navigate to specific line −
Sr.No | Command & Description |
---|---|
1 | :n Jump to the nth line |
2 | :0 Jump to the start of file |
3 | :$ Jump to the end of file |
Word navigation
We can use following commands for word navigation −
Sr.No | Command & Description |
---|---|
1 | w Move cursor to the beginning of the next word |
2 | e Move cursor to the end of the current word |
3 | b Move cursor to the beginning of the previous word |
Using jumps
Vim keeps track of your navigation using a jump list. You can go backward and forward through that list.
The jump list keeps tracks of all the places you’ve been to by tracking file name, line number and column number.
To view jump list execute following command −
:jumps
Following command are based on jump list −
Sr.No | Command & Description |
---|---|
1 | Ctrl + o Jump back to the previous position |
2 | Ctrl + i Jump to the next position |
We have seen basic editing earlier. Let us understand some other editing features of Vim. In this section, we will discuss following items −
- Buffer
- Swap files
- Cut, copy, delete, paste actions
- Undo and redo actions
Buffer
Buffer is temporary memory used by Vim. When we open a file in editor, Vim loads its contents from disk drive. These contents are stored in memory (RAM) whenever we edit a file we are actually editing file from buffer. Once we finish editing and save file that time only buffer contents are transferred to appropriate file.
Swap
Swap area is a file created by Vim to store buffer contents periodically. While editing file our changes may be lost because of any reasons and Vim provides swap files to provide data recovery.
To get actual name of swap file execute following command −
:swapname
For instance in my case name was message.txt.swp as show in below image −
Cut, Copy and paste actions
We often perform cut, copy and paste actions on text. Vim provides following commands to perform these actions (y stands for yank and p stands for paste action) −
Sr.No | Command & Description |
---|---|
1 | x Delete character from cursor position |
2 | X Delete previous character from cursor position |
3 | y Copy single character from cursor position |
4 | p Paste character after cursor position |
5 | P Paste character before cursor position |
Multi-position command
We can use cut, copy and paste commands with words and sentences as well. Below table shows this −
Sr.No | Command & Description |
---|---|
1 | dw Delete word from cursor position |
2 | D Delete entire line from cursor position |
3 | dd Delete entire line |
4 | Y Copies entire line |
5 | yy Copies entire line |
To perform multi-line/multi-word actions just use numbers with command. You can use this syntax with other commands as well. For instance, to delete 3 words use −
3dw
Undo
We can undo single or multiple actions. To perform one time undo action execute −
u
To perform multiple undo action, use number with same command. For instance, below command will undo last 3 actions −
3u
In addition to this, to undo all execute following command −
U
Redo
Redo is apposite action of undo. Execute any of the command to perform redo action.
Ctrl + r
OR
: red
Search is very common action and it is one of the actions we use most of the time. In this chapter we will see some command which will allow performing these actions effectively.
In this chapter, we will discuss following items −
- Search settings
- Search in current file
- Search in multiple files
- Search in help files
Search related settings
To perform incremental search execute following command −
:set incsearch
To highlight search execute following command −
:set hlsearch
This command will automatically highlight current matches. For instance in below image fox word is highlighted −
To disable incremental and highlighted search execute following commands −
:set noincsearch
:set nohlsearch
Search in current file
Search in forward direction
Use following commands to perform search in forward direction −
Sr.No | Command & Description |
---|---|
1 | /<expression> Search expression in forward direction |
2 | n Find next occurrence. This is same and find next |
3 | N Find previous occurrence. This is same as find previous |
4 | // Repeat previous forward search |
Search in backward direction
Use following commands to perform search in backward direction
Sr.No | Command & Description |
---|---|
1 | ?<expression> Search expression in backward direction |
2 | n Find previous occurrence. This is same and find previous |
3 | N Find next occurrence. This is same as find next |
4 | ?? Repeat previous backward search |
Search word under cursor
Place cursor under any word and execute following commands to perform search operation −
Sr.No | Command & Description |
---|---|
1 | * Search next occurrence of current word |
2 | # Search previous occurrence of current word |
Search in multiple files
Using vimgrep command we can search <expression> in multiple files. For instance below command searches string - Jarvis in all text files.
:vimgrep Jarvis *.txt
Note that to go to next and previous occurrence we have to use following commands −
Sr.No | Command & Description |
---|---|
1 | :cn Go to next occurrence of expression |
2 | :cN Go to previous occurrence of expression |
Vim is very powerful editor. It supports many advanced features to work with multiple files, buffer and windows. In this section, we will discuss following items −
- Multiple files
- Multiple buffers
- Multiple tabs
- Multiple windows
Multiple files
Let us suppose you are editing a file and you want to open another file in same Vim session. In that case, you can use Vim’s edit command. Below table shows these commands
Sr.No | Command & Description |
---|---|
1 | :e Load new file in buffer for editing |
2 | :edit Same as :e |
3 | :e <tab> List the files for editing from current directory |
4 | :edit <tab> Same as :e <tab> |
Multiple buffers
We have already seen what Vim buffers are. Vim supports multiple buffers. Below commands will be useful will working with buffers −
Sr.No | Command & Description |
---|---|
1 | :badd <file> Add file into new buffer |
2 | :bN Switch to Nth buffer. For instance to switch to 3rd buffer use :b3 |
3 | :bnext Move to the next buffer in buffer list |
4 | :bprevious Move to the previous buffer in buffer list |
5 | :buffers List all buffers |
6 | :bfirst Move to the first buffer |
7 | :blast Move to the last buffer |
8 | :ball Load all buffers |
For instance, below command adds new file to buffer −
Now, there are two files in buffer. Execute below command to show this −
:buffers
It will show following output −
Multiple tabs
Like other editors we can also open multiple tabs in Vim. Below table describes tab related commands −
Sr.No | Command & Description |
---|---|
1 | :tabnew Open new tab |
2 | :tabnew <file> Open new file in tab |
3 | :tabclose Close current tab |
4 | :tabnext Move to the next tab |
5 | :tabprevious Move to the previous tab |
6 | :tabfirst Move to the first tab |
7 | :tablast Move to the last tab |
For instance, below images shows multiple tabs
Multiple windows
In Vim we can create new window using following commands −
Sr.No | Command & Description |
---|---|
1 | :new <file> Open new window |
2 | :new <file> Open file in new window |
In below image, we can see that current Vim window is split into 2 parts after executing following commands −
$vim message.txt
:new
Vim supports bookmark feature. Using this feature we can make navigation within file really faster. In this chapter, we will discuss following items −
- Create bookmark
- Jump to bookmark
- List all bookmarks
- Delete bookmarks
- Local bookmarks
- Global bookmarks
Create bookmark
To create bookmark execute following command −
m{bookmark-name}
In above example bookmark-name is single alphabetical character. For instance, below command creates bookmark of name a.
ma
Jump to bookmark
Once bookmark is created we can jump there. Following command can be use to jump to bookmark −
Sr.No | Command & Description |
---|---|
1 | `{bookmark-name} Move to the exact location of bookmark. Please note that this character is back quote |
2 | ‘{bookmark-name} Jump to the beginning of bookmark line. Please note that this character is single quote |
List all bookmarks
To list all bookmarks execute following command −
:marks
In below image it show list of bookmarks for current file
Delete bookmark
To delete bookmarks execute following command −
:delmarks {bookmark-name}
For instance, below command delete bookmark with name a.
:delmarks a
Local bookmarks and global bookmarks
When you have multiple files open and if you want to go to a particular position in any one of the open files, then you can use global mark feature of Vim.
If the bookmark name is an upper case letter, then that is a global Bookmark. Above discussed commands are applicable for both local and global bookmarks.
Macro is record and play feature. When this is combined with Vim commands it becomes really powerful combination. In this section, we will discuss following items −
- Start recording
- Perform Vim actions
- Stop recording
- Play recording
Start recording
To start recording press q followed by any lower case letter as a macro name. For instance in below example I have used “a” as a macro name
Perform Vim actions
In this step you can perform any Vim actions like: cut, copy, delete, replace and so on.You can see these actions by executing following command −
:registers
For instance, below command shows that yank and delete actions were performed −
Stop recording
Once you are done with actions, press q again to stop recording. Now recording mode will disappear as shown below −
Play
To play execute below command −
@{macro-name}
For instance to execute macro “a”, execute below command −
@a
To play same macro multiple times use numbers with it. For instance, to execute same macro 10 times execute following command −
10@a
Vim provides many registers. We can use these registers as multiple clipboards. This feature is really useful while working with multiple files. In this chapter, we will discuss following items −
- Copy text in register
- Paste text from register
- List available registers
- Register types
Copy text in register
For copying, we can use normal yank command i.e. yy and to store it in register we can use following syntax −
“<register-name><command>
For instance, to copy text in register “a” use following command −
“ayy
Paste text from register
To paste text from register use −
“<register-name>p
For instance, below command copies text from register “a” −
“ap
List available registers
To list all available registers use following command
:registers
Register types
Vim supports following types of registers −
Unnamed registers
Unnamed register is denoted by “”. Vim stores deleted or copied text in this register
Named registers
We can use 26 named registers; we can use a-z or A-Z. By default vim doesn’t uses these registers.
If we use lower case register name then contents will be overwritten and if we use uppercase name then contents will be appended in that register.
Numbered registers
We can use 0 to 9 named registers. Vim fills these registers with text from yank and delete command.
- Numbered register 0 contains the text from the most recent yank command.
- Numbered register 1 contains the text deleted by the most recent delete or change command
Default registers
Following are the default registers −
Sr.No | Register & Description |
---|---|
1 | % Name of the current file |
2 | # Name of the alternate file for the current window |
3 | : Most recently executed command |
4 | . Contains the last inserted text |
5 | “ Last used register |
Fold functionality will be useful when file contents large text. Using this feature we can only show selected potion of file. This feature is particularly useful while working with programming languages. In this chapter, we will discuss following items −
- Activate and deactivate fold functionality
- Various fold actions
Fold activation and deactivation
To activate fold use following command −
:set foldenable
:set foldmethod = indent
To deactivate fold use following command
:set nofoldenable
Fold actions
Close fold
To fold code, go to any method and execute following command −
zc
For example below image shows the result of this action −
Open fold
To open fold use following command −
zo
Below image shows the result of this action −
Close all folds
To close all folds execute following command
zM
Below image shows the result of this action
Unfold all
To unfold all execute following −
zR
Below image shows the result of this action −
Similar to UNIX diff command we can use Vim to show diff in much better manner. It will show diff in colorful manner. In this chapter, we will discuss following items −
- Show differences between files
- Activate and deactivate diff mode
- Navigation in diff mode
- Applying changes from diff window
Show difference
To show differences between files execute below command −
$ vimdiff <file> <file>
OR
$ vim –d <file> <file>
For instance below command shows differences −
In above image, text highlighted in magenta color is common. Remaining text is highlighted in red color which indicates that there are some differences after common text.
Activate and deactivate diff mode
If you are already in vim and you want to perform diff action, then use one of the following command −
diffsplit
Use below command to perform horizontal split −
:diffsplit filename
Above images shows that we are comparing two files namely message-1.txt and message-2.txt.
Vertical diffsplit
To perform vertical split use following command −
:vert diffsplit <filename>
It opens following window −
Above images shows that we are comparing two files namely message-1.txt and message-2.txt.
Navigation in diff mode
Navigation in diff mode is little bit different. For instance, when you scroll text from one window then text from adjacent window also scrolled. This is called scrollbind. To enable this use −
:set scrollbind
To disable this use −
:set noscrollbind
If you edit file in this mode then use following command to update diff −
:diffupdate
Switch between diff window
To switch between diff windows execute following command −
Ctrl + w Ctrl + w
Please note that, we have to press Ctrl + w 2 times.
Jump to previous change
In diff window, execute following command to jump to previous change −
[c
Jump to next change
In diff window, execute following command to jump to next change −
]c
Apply changes from diff window
Applying change in current diff windows
To apply change from adjacent diff window to current diff windows execute −
:diffget
For instance, if you are in left window and you want to take change from right window to current window then you will execute above command.
Apply change from current pane to another
To apply change from current diff window to adjacent diff window execute −
:diffput
For instance, if you are in left window and you want apply change from current window to right window then you will execute above command.
Using plug-ins, we can extends the functionality of Vim. Vim supports many plug-ins and most of them are available freely. This chapter is about Vim plug-ins and we will discuss following items −
- Plug-in management
- Some useful plug-ins
Plug-in management
This section discusses plug-in management. Vim provides various plug-ins managers but we won’t be using any plug-in manager, instead we’ll be doing all these steps manually for better understanding. Once you understand these steps, you can go with plug-in manager.
Install plug-in
To install any plug-in perform following steps −
- Create .vim/bundle directory in user’s home directory
- Copy plug-in inside this directory
- Set runtimepath in vim
Let us install badwolf plug-in in Vim. It is a color scheme for vim.
$ mkdir -p ~/.vim/bundle
$ cd ~/.vim/bundle/ $ git clone https://github.com/sjl/badwolf.git
$ echo "set runtimepath^ = ~/.vim/bundle/badwolf" > ~/.vimrc
Now plug-in is installed, so we can use badwold color scheme as follows −
:colorscheme badwolf
Update plug-in
If we observe carefully, plug-in is a just collection of files and if we want to update that plug-in then just update appropriate plug-in directory from ~/.vim/bundle.
Remove plug-in
Removing plug-in in Vim is really simple. To remove plug-in perform following steps −
- Remove plug-in directory from ~/.vim/bundle
- Modify runtimepath appropriately
Some useful plug-ins
Below is list of some useful Vim plug-ins
Sr.No | Name & Description |
---|---|
1 | DumpX Disassemble C/C++ code |
2 | awk.vim Indenting for AWK script |
3 | Pathogen Vim package manager |
4 | git-switcher.vim Automatically save and load vim session based on switching of git branch |
5 | Pyflakes Provide liniting for python files |
We can configure Vim to use it as an IDE. In this section, we will discuss following items
- Syntax highlighting
- Smart indentation
- Bounce
- Execute shell commands
- Configuring ctags and csope
- Auto-completion and auto-suggestion
Syntax highlighting
Syntax highlighting is one of the important features of IDE. To enable syntax highlighting use −
:syntax on
For instance, below image show syntax highlighting for C code −
To disable syntax highlighting use −
:syntax off
When syntax highlighting is disabled, it will show following output −
Smart indentation
To perform auto and smart indentation use following commands −
: set autoindent
: set smartindent
In addition to this you can use below command to auto-indent C code −
: set cindent
Bounce
If you are using programming language which uses curly braces to combine multiple statements then % key will be your friend. This key will jump between start and end of curly braces quickly.
For instance, you are at line 11 and execute % command then it will move cursor the line 4. Below image shows this −
Execute shell commands
To execute single command from Vim editor user −
:!<command>
For instance, to execute pwd command use following syntax −
:!pwd
However, if you want to multiple shell commands then execute following command −
:shell
Above command will give you terminal access, where you can execute multiple commands. Once you are done with it, just type exit command which will return back to Vim session.
Configure ctags and cscope
Combination of ctags and csope provides many useful features like go to function definition, go to function declaration, find function calls, search file, and many more. Perform below steps to configure these tool −
- Generate tags using following command −
$ ctags <file>
This command will generate new file namely tags
- Provide tag file to vim using following command −
:set tags = tag
- Now move your cursor under function name and press Ctrl + ] to go to function definition.
- Use Ctrl + t to come back to previous position.
To install and configure cscope perform following steps −
- Install cscope
$ sudo apt-get install cscope
- Generate ctags and launch main window
$ cscope –R
- User Ctrl + d to close cscope window
Auto-completion and auto-suggesting
We can use following commands for auto-completion −
Sr.No | Command & Description |
---|---|
1 | Ctrl + x Ctrl + N Word completion |
2 | Ctrl + x Ctrl + L Line completion |
3 | Ctrl + x Ctrl + F File name completion |
Note that we have to use these commands in insert mode.
Many times we need to work with remote servers. And often we edit files from those remote servers. One of the obvious solution to edit those files is to log in to the remote sever and edit files. But sometimes it is convenient to edit those files from local machine because we might have installed and configured various plug-in on our local system. In this chapter, we will discuss following items −
- Access remote files
- Understand netread and netwrite
- Other supported protocol
Accessing remote files
Vim supports remote file editing using following syntax −
$vim scp://[email protected]/filepath
In above example vim will recognize that it has to use scp protocol and it will access file using that protocol. For instance −
$ vim scp://[email protected]//tmp/message.txt
Above command will open /tmp/message.txt file from remote-server. It will use SCP protocol and jarvis user’s credentials for authentication.
Using nread and nwrite
Vim supports nread and nwrite functionality which stands for net read and net write respectively. Previous section shows method to access remote file while launching Vim. But what if you are already in Vim? Then you can use following commands −
:Nread scp://jarvis@localhost//tmp/message.txt
In addition to reading we can also modify file on remote server directly. In that case use Nwrite command as follows −
:Nwrite scp://jarvis@localhost//tmp/message.txt
Once file is opened, you can use regular Vim commands.
Other supported protocols
In addition to SCP, Vim supports following protocols −
- FTP
- SFTP
- HTTP (read-only)
- rsync
Now we got fair idea about Vim. Let us discuss few tips and tricks of Vim to improve productivity. In this section, we will discuss following items −
- Convert spaces to tabs and vice-versa
- Highlight miss-spelled words
- Word completion
- Copy line character by character
- Indent code
- Change file format
Convert spaces to tabs and vice-versa
Convert tabs to spaces
If you are editing a file and you want to convert entered tab character to spaces then execute following command −
:set expandtab
Note that, this command will not change existing tabs to spaces. To achieve this execute following command −
:set tabstop = 4 shiftwidth = 4 expandtab
:retab
In above command we are instructing Vim to convert tabs into 4 spaces
Convert spaces to tabs
To convert spaces to tabs execute below command −
:set noexpandtab :retab!
Highlight miss-spelled words
We can instruct Vim to highlight miss-spelled words. To do this execute following command −
:set spell
Below image highlights misspelled word in Vim −
Word completion
Vim also provides word completion. For this execute following command in insert mode −
Ctrl + p
Copy character line by line
Use following command to copy and paste line character by character −
Sr.No | Command & Description |
---|---|
1 | Ctrl + y Copy and paste text located above the cursor |
2 | Ctrl + e Copy and paste text located below the cursor |
Note the we have to use these commands in insert mode.
Indent code
If you have un-indented code to indent it execute following command −
=%
For instance, if you have un-indented code like this −
Then go to line 4 and execute =% command. It will indent code like this −
Change file format
To change file format to UNIX execute following command −
:set ff = unix
To change file format to DOS execute following command −
:set ff = dos
We can personalize Vim according to our requirement. In this section, we will discuss following items −
- Configuration files
- Changing fonts
- Changing color scheme
- Personal highlighting
- Status line
Configuration files
For Vim configuration files can be at user level or global level. User specific settings will be stored in user level files while global settings will be stored in global level files.
ไฟล์ Vimrc
Global vimrc
หากต้องการค้นหาไฟล์ vimrc ส่วนกลางให้ดำเนินการคำสั่งต่อไปนี้ในตัวแก้ไข
:echo $VIM
หรือ
:echo \%VIM\%
บน Linux ไฟล์นี้จะอยู่ภายใต้ไดเร็กทอรี / usr / share / vim ในขณะที่อยู่บน Window ไฟล์จะอยู่ภายใต้โฟลเดอร์ C: \ Program Files \ Vim
Local vimrc
vimrc ในเครื่องจะอยู่ภายใต้โฮมไดเร็กทอรีของผู้ใช้ ตัวอย่างเช่นบน Linux จะอยู่ภายใต้ไดเร็กทอรี / home / <USER> ในขณะที่บน Windows จะอยู่ภายใต้ C: \ Documents and Setting \ <USER> / โฟลเดอร์
โปรดทราบว่าในชื่อไฟล์ Windows จะเป็น _vimrc ในขณะที่บน Linux จะเป็น. vimrc
Gvimrc
Global gvimrc
บน Linux ไฟล์นี้จะอยู่ภายใต้ไดเร็กทอรี / usr / share / gvim ในขณะที่อยู่บน Window ไฟล์จะอยู่ภายใต้โฟลเดอร์ C: \ Program Files \ Vim
Local gvimrc
gvimrc ในเครื่องจะอยู่ภายใต้โฮมไดเร็กทอรีของผู้ใช้ ตัวอย่างเช่นบน Linux จะอยู่ภายใต้ไดเร็กทอรี / home / <USER> ในขณะที่บน Windows จะอยู่ภายใต้ C: \ Documents and Setting \ <USER> / โฟลเดอร์
โปรดทราบว่าในชื่อไฟล์ Windows จะเป็น _gvimrc ในขณะที่บน Linux จะเป็น 55 .gvimrc
exrc
ไฟล์ exrc ใช้สำหรับความเข้ากันได้แบบย้อนหลัง ไฟล์เหล่านี้จะถูกละเว้นหากมีไฟล์ vimrc หรือ gvimrc อยู่
Global exrc
บน Linux ไฟล์นี้จะอยู่ภายใต้ไดเร็กทอรี / usr / share / vim ในขณะที่อยู่บน Window ไฟล์จะอยู่ภายใต้โฟลเดอร์ C: \ Program Files \ Vim
Local exrc
Local exrc จะอยู่ภายใต้โฮมไดเร็กทอรีของผู้ใช้ ตัวอย่างเช่นบน Linux จะอยู่ภายใต้ไดเร็กทอรี / home / <USER> ในขณะที่บน Windows จะอยู่ภายใต้โฟลเดอร์ C: \ Documents and Setting \ <USER> / _exrc
การเปลี่ยนแบบอักษร
ในการเปลี่ยนฟอนต์ให้รันคำสั่งต่อไปนี้ใน gVim -
:set guifont = courier
คำสั่งด้านบนจะเปลี่ยนแบบอักษรเป็นผู้จัดส่ง
เปลี่ยน colorcheme
ในการเปลี่ยนชุดสีให้ดำเนินการคำสั่งต่อไปนี้ -
:colorscheme <tab>
เมื่อคุณกดตัวอักษรแท็บมันจะแสดงโทนสีที่มีให้สำหรับ Vim
การเน้นส่วนบุคคล
เน้นอักขระหลังคอลัมน์บางคอลัมน์
ดำเนินการคำสั่งด้านล่างเพื่อเน้นคอลัมน์ที่มากกว่า 73 -
:match ErrorMsg /\%>73v.\+/
ภาพด้านล่างแสดงสิ่งนี้ -
ด้านล่างนี้คือคำอธิบายของคำสั่งนี้ -
ซีเนียร์ No | คำสั่งและคำอธิบาย |
---|---|
1 | \%> จับคู่หลังคอลัมน์ |
2 | 73 นี่คือหมายเลขคอลัมน์ |
3 | V ควรใช้กับคอลัมน์เสมือนเท่านั้น |
4 | .\+ จับคู่อักขระตั้งแต่หนึ่งตัวขึ้นไป |
แอดไลน์เบอร์
ในการเพิ่มหมายเลขบรรทัดให้ดำเนินการคำสั่งต่อไปนี้ -
:set number
หากต้องการปิดใช้งานนี้ให้ดำเนินการคำสั่งต่อไปนี้ -
:set nonumber
ตั้งค่าความกว้างของตัวเลข
ในการตั้งค่าความกว้างของตัวเลขให้ดำเนินการคำสั่งต่อไปนี้ -
:set numberwidth = <num>
ตรวจสอบการสะกด
ในการเปิดใช้งานการตรวจสอบการสะกดให้ดำเนินการคำสั่งต่อไปนี้ -
:set spell
และเพื่อตั้งค่าภาษาสะกดให้รันคำสั่งต่อไปนี้ -
:set spelllang = <language>
ตัวอย่างเช่นในการตั้งค่าภาษาเยอรมันใช้เครื่องหมายจุลภาคต่อไปนี้ -
:set spelllang = de
ตัวย่อ
การใช้ตัวย่อเราสามารถสร้างทางลัดสำหรับสตริงแบบยาวได้ ตัวอย่างเช่นด้านล่างคำสั่งสร้างตัวย่อคือ "ด่วน"
:abbr quick the quick brown fox
หากคุณพิมพ์ "ด่วน" แล้วกดแท็บระบบจะแทนที่ด้วยสตริง "จิ้งจอกสีน้ำตาลด่วน"
เราสามารถใช้สิ่งนี้เพื่อแก้ไขการพิมพ์ผิดบางส่วน ตัวอย่างเช่นด้านล่างคำสั่งทำสิ่งนี้ -
:abr teh the
บรรทัดสถานะ
บรรทัดสถานะจะแสดงที่ด้านล่างของตัวแก้ไข เพื่อเปิดใช้งานบรรทัดสถานะให้ดำเนินการคำสั่งต่อไปนี้ -
:set laststatus = 2
หากต้องการลบสิ่งนี้สำหรับเซสชันปัจจุบันให้ดำเนินการคำสั่งต่อไปนี้ -
:set laststatus = 0
Vim เป็นเครื่องมือแก้ไขที่ทรงพลังมากและตอนนี้คุณสามารถทำให้มือของคุณสกปรกได้ การเรียนรู้ Vim จะช่วยปรับปรุงประสิทธิผลของคุณได้อย่างแท้จริง การใช้ Vim คุณสามารถแก้งานที่ซับซ้อนมากมายได้ด้วยคำสั่งเพียงไม่กี่คำ คุณสามารถดูเอกสารประกอบต่อไปนี้เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับ Vim
เป็นกลุ่มเอกสารอย่างเป็นทางการ
คุณสามารถเข้าถึงเอกสารอย่างเป็นทางการของ Vim ได้จากเว็บไซต์ต่อไปนี้ -
https://www.vim.org/
คู่มือ Vim Scripting
คุณสามารถเพิ่มความเป็นกลุ่มได้มากขึ้นโดยการเขียนสคริปต์ลงไป มีภาษาสคริปต์ของตัวเอง หากต้องการทราบข้อมูลเพิ่มเติมโปรดไปที่ลิงค์ต่อไปนี้ -
https://vim.sourceforge.io/scripts/index.php
ปลั๊กอินเป็นกลุ่ม
ปลั๊กอิน Vim ช่วยขยายฟังก์ชันการทำงานและทำให้คุณมีประสิทธิผลมากขึ้น คุณสามารถติดตั้งกำหนดค่าและแม้แต่เขียนปลั๊กอินสำหรับ Vim คุณสามารถอ้างอิงเอกสารเกี่ยวกับเรื่องนี้ได้จากเว็บไซต์อย่างเป็นทางการ