Nattawut Phetmak
Jack of all Trades
เช่นเดียวกับตอนก่อน การแก้ไขเอกสารก็มีลูกเล่นอีกมากมาย เช่น [o]
, [O]
จะขึ้นบรรทัดใหม่ด้านล่าง/บนแล้วเข้าสู่ insert mode
int main(void) {
printf("hi"); // cursor in this line.
return 0;
}
// after press [o]
int main(void) {
printf("hi");
// cursor in this new line.
return 0;
}
//
// or, from the beginning, press [O]
int main(void) {
// cursor in this new line.
printf("hi");
return 0;
}
ส่วน [J]
จะทำการเชื่อมบรรทัดด้านล่างของ cursor ขึ้นมา
int main(void) { // cursor in this line
printf("hi");
return 0;
}
// [4] [J] will return this
int main(void) { printf("hi"); return 0; }
สังเกตว่า ถ้าใส่เลขมากกว่าจำนวนบรรทัดที่เหลืออยู่ คำสั่ง [J]
จะไม่สามารถทำงานได้ครับ
การแก้ไขตัวอักษรที่ผิดนั้น สามารถทำได้โดยการใช้ [r]
ตามด้วยอักษรที่ต้องการเปลี่ยนให้มัน
This is wring.
^ move cursor here
then press [r] [o]
This is wrong.
นี่เป็นการแก้ไขทีละตัวๆ เท่านั้น ถ้าต้องการเปลี่ยนอักษรหลายตัวให้ใช้ [R]
I love action movie.
^ move cursor here and press [R]
type: sci-fi [Esc]
I love sci-fi movie.
ซึ่งจะเห็นว่าเป็นการพิมพ์ทับข้อความเดิม ถ้าต้องการลบตัวอักษรแล้วพิมพ์ใหม่ลงไป ให้ใช้ [s]
แทน
Something need to be changed.
^ cursor at the beginning of line.
press [4] [s] then type: No [Esc]
Nothing need to be changed.
หรือถ้าไม่ชอบใจทั้งบรรทัดเลย ก็กด [S]
ครับ
เนื่องจาก [s]
นั้นต้องนับอักษรแล้ววางตัวเลขเป็น prefix เท่านั้น ในกรณีนี้เราอาจใช้ [c]
แล้วตามด้วย suffix เอาแทนได้
Bangkok is great city.
^ move cursor here
press [c] [w], type: flooded [Esc]
Bangkok is flooded city.
คำสั่งประเภทนี้ มักใช้การซ้ำตัวมันเองเพื่อกระทำการกับทั้งบรรทัด กรณีนี้ [c] [c]
คือการเปลี่ยนทั้งบรรทัด
อีกคำสั่งใช้บ่อยที่ปรกติเราต้องนับอักษรเป็นตัวๆ คือ [x]
ในกรณีนี้สามารถใช้ [d]
เพื่อตามด้วย suffix ได้
Nothing can take you far away from me.
^ cursor here
press [d] [3] [w]
Nothing can take you me.
เช่นกันครับ [d] [d]
จะลบบรรทัดทิ้งทั้งบรรทัด
ถึงแม้ว่าการใช้คำสั่งที่มี suffix จะสะดวกมากกว่าพวกที่ใช้ prefix อย่างเดียว แต่ในบางกรณีเราก็ต้องการมากกว่านั้น คำสั่ง [v]
จะเปิด visual mode เพื่อให้เรา highlight ตัวอักษรเอาได้ครับ
With great power comes great responsibility.
^ cursor here press [v]
With great power comes great responsibility.
-----------^ move cursor here
press [s]
type: ultimate question [Esc]
With ultimate question comes great responsibility.
^ cursor here
With ultimate question comes great responsibility.
^ move here and press [v]
With ultimate question comes great responsibility.
--------------^
press [c]
type: nonsensicality [Esc]
With ultimate question comes great nonsensicality.
สังเกตว่า การใช้ [v]
เพื่อ highlight สามารถใช้ได้กับคำสั่งได้ทั้ง prefix และ suffix เลยครับ (โดยที่ไม่ต้องส่งผ่านค่า prefix/suffix เข้าไปด้วย)
การคัดลอกข้อความ สามารถทำได้โดย [y]
ตามด้วย suffix เลือกคำ (หรือทำใน visual mode ก็ได้) และวางโดยใช้ [p]
Campbell
^ cursor here
press [y] [w]
Campbell
^ move cursor here
press [2] [p]
CampbellCampbellCampbell
สิ่งที่ต้องระวังคือ การลบตัวอักษรด้วย [x]
หรือ [d]
จะเทียบเท่ากับการคัดลอกตัวอักษรนั้นไปเก็บไว้สำหรับ [p]
ด้วยครับ