เกร็ด vim อีกรอบ

Topic: 
 

ปกติ vim จะตีความข้อมูลด้วยค่า locale ของเครื่อง
เช่นถ้าตั้งค่า locale เป็น utf-8 ด้วยคำสั่ง
# dpkg-reconfigure locales
แล้วตั้งเป็น th_TH.utf8 เวลาเราเรียกใช้ vim เราจะสามารถใช้งานภาษาไทยที่เข้ารหัสเป็น utf8 ได้โดยทันที

ปัญหาคือ ถ้าเรามีบางไดเรคทอรี่ที่เข้ารหัสข้อมูลด้วยรหัสอื่น เช่น tis620
เราจะไม่สามารถใช้งานภาษาไทยได้
วิธีแก้คือ

  1. สั่งงาน vim ด้วยตัวแปร env LANG เป็นค่า locale ที่ต้องการ
    # LANG=th_TH.tis620 vim FILENAME
  2. ตั้งค่าตัวแปร encoding เป็น thai
    :set enc=thai
  3. ตั้งค่าตัวแปร termencoding เป็น utf-8
    :set termencoding=utf-8

ด้วยวิธีนี้ เราสามารถแก้ไขไฟล์ที่เข้ารหัสเป็น tis-620 ได้ครับ

หมายเหตุ
ถ้าท่านใดทราบวิธีทำให้เป็นอัตโนมัติผ่าน vimrc รบกวนช่วยเสริมด้วยนะครับ
( ผมหาพบที่ google cache แต่อ่านไม่ค่อยเข้าใจ )

เพิ่มเติม
ที่ codenone มีคุยเรื่อง vimrc ด้วย :)