Thursday, March 27, 2014

Vim Plugin: xolox/vim-session

vim-session เป็น plugin ที่ผมใช้ทุกวัน เหมาะกับงานที่เป็น project base

vim-session เป็นส่วนขยายของคำสั่ง mksession โดยเพิ่มความง่ายในการ save และ load session และได้เพิ่มความสามารถในการ save options เพิ่มเติมจาก mksession

ถ้าลง plugin ครั้งแรก อาจจะสับสนหน่อย เพราะจะมี message แจ้งการ load session แบบ auto หรือ message ตอนปิด vim
แนะนำให้ set ตัวแปรตามนี้ใน vimrc

let g:session_autoload='no'
let g:session_autosave='yes'

หมายถึงไม่ต้อง load session ใดๆตอนเปิด และ save session ปัจจุบันตอนปิด

วิธีใช้ที่ผมใช้อยู่คือ

  1. เริ่ม project ใหม่ [ปกติทำครั้งเดียว แล้วลืมไปได้เลย] เปิด vim ที่ directory ของ project หรือ เปิด vim แล้ว cd ไปที่ directory ของ project แล้ว ใช้ คำสั่ง

    :SaveSession project-name

    ขั้นตอนนี้ทำแค่ครั้งเดิยวตลอดการทำงาน ของ project
    หลังจากนั้นเราก็ทำงานปกติ load file, split window, เปิด tab
    เวลาจะหยุดทำงาน เราสามารถปิด vim ได้เลย vim-session จะ save session ปัจจุบันให้ (set ตัวแปรนี้ใน vimrc เหมือนด้านบน)

  2. กลับเข้าทำงานกับ project
    ขั้นนี้เป็นสิ่งที่่ทำทุกวันเวลาเริ่มงาน สิ่งที่ต้องทำคือ ใช้คำสั่ง

    :OpenSession project-name

    โดยที่ project-name คือชื่อที่ save ตอนแรก แล้วทุกอย่างก็จะ set ตามที่เราเคยปิดไปเช่น current directory จะอยู่ที่ project, file ที่เคยเปิดไว้, window ที่ split ไว้, tab ที่เปิดไว้, colorscheme, font และอื่นๆ จะยังเหมือนเดิม ทำให้เราเริ่มทำงานได้ง่ายขึ้น

No comments:

Post a Comment