November 21, 2011

vi: แก้ไขเอกสารขั้นสูง

เช่นเดียวกับตอนก่อน การแก้ไขเอกสารก็มีลูกเล่นอีกมากมาย เช่น [o], [O] จะขึ้นบรรทัดใหม่ด้านล่าง/บนแล้วเข้าสู่ insert mode

ส่วน [J] จะทำการเชื่อมบรรทัดด้านล่างของ cursor ขึ้นมา

สังเกตว่า ถ้าใส่เลขมากกว่าจำนวนบรรทัดที่เหลืออยู่ คำสั่ง [J] จะไม่สามารถทำงานได้ครับ



การแก้ไขตัวอักษรที่ผิดนั้น สามารถทำได้โดยการใช้ [r] ตามด้วยอักษรที่ต้องการเปลี่ยนให้มัน

นี่เป็นการแก้ไขทีละตัวๆ เท่านั้น ถ้าต้องการเปลี่ยนอักษรหลายตัวให้ใช้ [R]

ซึ่งจะเห็นว่าเป็นการพิมพ์ทับข้อความเดิม ถ้าต้องการลบตัวอักษรแล้วพิมพ์ใหม่ลงไป ให้ใช้ [s] แทน

หรือถ้าไม่ชอบใจทั้งบรรทัดเลย ก็กด [S] ครับ



เนื่องจาก [s] นั้นต้องนับอักษรแล้ววางตัวเลขเป็น prefix เท่านั้น ในกรณีนี้เราอาจใช้ [c] แล้วตามด้วย suffix เอาแทนได้

คำสั่งประเภทนี้ มักใช้การซ้ำตัวมันเองเพื่อกระทำการกับทั้งบรรทัด กรณีนี้ [c] [c] คือการเปลี่ยนทั้งบรรทัด

อีกคำสั่งใช้บ่อยที่ปรกติเราต้องนับอักษรเป็นตัวๆ คือ [x] ในกรณีนี้สามารถใช้ [d] เพื่อตามด้วย suffix ได้

เช่นกันครับ [d] [d] จะลบบรรทัดทิ้งทั้งบรรทัด


ถึงแม้ว่าการใช้คำสั่งที่มี suffix จะสะดวกมากกว่าพวกที่ใช้ prefix อย่างเดียว แต่ในบางกรณีเราก็ต้องการมากกว่านั้น คำสั่ง [v] จะเปิด visual mode เพื่อให้เรา highlight ตัวอักษรเอาได้ครับ

สังเกตว่า การใช้ [v] เพื่อ highlight สามารถใช้ได้กับคำสั่งได้ทั้ง prefix และ suffix เลยครับ (โดยที่ไม่ต้องส่งผ่านค่า prefix/suffix เข้าไปด้วย)



การคัดลอกข้อความ สามารถทำได้โดย [y] ตามด้วย suffix เลือกคำ (หรือทำใน visual mode ก็ได้) และวางโดยใช้ [p]

สิ่งที่ต้องระวังคือ การลบตัวอักษรด้วย [x] หรือ [d] จะเทียบเท่ากับการคัดลอกตัวอักษรนั้นไปเก็บไว้สำหรับ [p] ด้วยครับ

No comments:

Post a Comment