Ojrsdv

เช่นเดียวกับตอนก่อน การแก้ไขเอกสารก็มีลูกเล่นอีกมากมาย เช่น [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] ด้วยครับ

Nattawut Phetmak

Jack of all Trades

blog comments powered by Disqus