fbpx
วิกิพีเดีย

วิม

Vim หรือ วิม ย่อมาจาก Vi IMproved เป็นซอฟต์แวร์เสรี สำหรับเอดิเตอร์สำหรับแก้ไขไฟล์ มีรากฐานการพัฒนามาจากโปรแกรม vi ที่มีอยู่เดิม สามารถทำงานบนระบบปฏิบัติการหลายๆ ตัว Vim ถูกพัฒนาโดย แบรม มูลีนาร์ (Bram Moolenaar) ออกเผยแพร่เป็นครั้งแรกในปี พ.ศ. 2534 นับตั้งแต่นั้นมามีการเพิ่มเติมขีดความสามารถให้กับ Vim ความสามารถหลายอย่างออกแบบมาให้เป็นประโยชน์ในการแก้ไขซอร์สโค้ดโปรแกรม Vim ถูกออกแบบสำหรับทั้ง command line interface และ graphical user interface

Vim
ผู้พัฒนาแบรม มูลีนาร์ และคนอื่น ๆ
รุ่นล่าสุด7.4 / 10 สิงหาคม พ.ศ. 2556
ระบบปฏิบัติการลีนุกซ์, แมคโอเอสเท็น, ยูนิกซ์, ไมโครซอฟท์วินโดวส์
ประเภทเอดิเตอร์
สัญญาอนุญาตให้ผู้ใช้บริจาคเพื่อสาธารณะกุศล
เว็บไซต์http://www.vim.org

โดยดังเดิม Vim ทำงานบนระบบปฏิบัติการ อะมีกา เท่านั้น จนกระทั่งมีการพัฒนา สนับสนุนการทำงานบนระบบปฏิบัติการหลายๆ ตัว ในปี พ.ศ. 2549 Vim เคยถูกโหวตให้เป็นหมวดหมู่เอดิเตอร์ยอดนิยมในนิตรยสาร Linux Journal

เรียนรู้การใช้ Vim

Vim ถือเป็นโปรแกรมที่เรียนรู้ยากตัวหนึ่ง แต่ถ้าผู้ใช้จับหลักการพื้นฐานได้ ก็สามารถใช้งานได้คล่องตัวขึ้นมาก เพื่อช่วยให้เรียนรู้เร็วขึ้น จึงมีโปรแกรมสอนวิธีใช้ Vim โดยการพิมพ์คำสั่ง vimtutor บนบรรทัดคำสั่งในยูนิกซ์ หรือคลิกบนไอคอน Vim tutor บนวินโดวส์ นอกจากนี้ภายใน Vim เองก็มีคู่มือการใช้งานโดยละเอียดซึ่งปรากฏบนจอโดยการพิมพ์คำสั่ง :help user-manual ภายใน Vim

ผู้ใช้ยังสามารถอ่าน ระบบขอความช่วยเหลือ โดยการพิมพ์คำสั่ง :help

โหมดการแก้ไข

วิธีการติดต่อกับผู้ใช้ใน Vim มีหลายโหมดการทำงาน การกดปุ่มบนแป้นพิมพ์จะให้ผลลัพธ์แตกต่างกันขึ้นอยู่กับโหมดการทำงานในปัจจุบัน ผู้ใช้สามารถเปลี่ยนไปมาระหว่างโหมดโดยให้แป้นพิมพ์ เหมาะกับผู้ที่สามารถพิมพ์สัมผัสได้ ไม่เหมือนกับเอดิเตอร์หลายตัวที่ต้องใช้เมาส์หรือเลือกคำสั่งในเมนูในการใช้งาน

Vim มีโหมดพื้นฐานอยู่ 6 โหมด และแยกย่อยจากโหมดพื้นฐานได้อีก 5 โหมด

โหมด normal

โหมด normal เป็นโหมดที่สามารถพิมพ์คำสั่งต่าง ๆ เช่นเพื่อเคลื่อนย้ายเคอร์เซอร์ ลบข้อความ เป็นต้น เวลาเริ่มต้นโปรแกรม Vim จะเข้ามาอยู่ในโหมดนี้

Vim เป็นโปรแกรมที่ใช้งานได้มีประสิทธิผลก็มาจากคำสั่งที่หลากหลายในโหมดนี้ ตัวอย่างเช่น ถ้าต้องการลบทั้งบรรทัดที่ตำแหน่งเคอร์เซอร์ ก็ใช้คำสั่ง dd ถ้าต้องการลบทั้งบรรทัดปัจจุบันและบรรทัดถัดไป ก็ใช้คำสั่ง dj โดยที่ d หมายถึงลบ ส่วน j เป็นปุ่มที่ใช้ในการเลื่อนเคอร์เซอร์ลง แทนที่จะใช้คำสั่ง dj ยังสามารถใช้คำสั่ง 2dd (หมายถึงทำคำสั่ง dd สองครั้ง) ก็ได้ เมื่อผู้ใช้เรียนรู้คำสั่งการเคลื่อนที่เคอร์เซอร์ต่าง ๆ และวิธีการนำคำสั่งมารวมกัน ก็สามารถใช้งานได้รวดเร็วกว่าเอดิเตอร์แบบที่ไม่มีโหมด

เมื่ออยู่ในโหมดนี้ สามารถเข้าไปในโหมด insert สำหรับแทรกข้อความได้หลายทาง เช่น ใช้ปุ่ม a (หมายถึง append หรือพิมพ์ต่อท้าย) หรือ i (หมายถึง insert หรือพิมพ์แทรก)

โหมดย่อย operator-pending

โหมดนี้เป็นโหมดย่อยของโหมด normal เมื่อผู้ใช้ป้อนคำสั่งและโปรแกรม Vim รอผู้ใช้เคลื่อนย้ายเคอร์เซอร์เพื่อให้คำสั่งสมบูรณ์ Vim ยังสามารถรับคำสั่งแทนการขยับเคอร์เซอร์ (เรียกว่า text object) เช่น aw หมายถึง คำ (word) as หมายถึง ประโยค (sentense) ap หมายถึงย่อหน้า (paragraph) ตัวอย่างการใช้เช่น คำสั่ง d2as จะลบประโยคปัจจุบันและประโยคถัดไป

โหมดย่อย insert normal

เป็นอีกโหมดย่อยของโหมด normal Vim จะเข้าโหมดนี้เมื่อผู้ใช้กดปุ่ม control-o ขณะอยู่ในโหมด insert Vim จะเข้ามาอยู่ในโหมด normal แต่จะรับเพียงคำสั่งเดียวแล้วกลับไปยังโหมด insert โดยอัตโนมัติ

โหมด visual

ในโหมดนี้เวลาเลื่อนเคอร์เซอร์จะทำให้ข้อความถูกไฮไลต์ตาม จนกว่าจะใส่คำสั่งเพื่อจัดการกับข้อความที่ถูกเลือกนั้น สามารถใช้คำสั่ง text object ในโหมดนี้ได้ด้วย

โหมดย่อย insert visual

เข้าโหมดนี้จากโหมด insert โดยกดปุ่ม control-o จะเข้าโหมดนี้เพื่อเลือกข้อความ เมื่อเลือกเสร็จจะกลับไปโหมด insert ตามเดิม

โหมด select

คล้ายกับการเลือกข้อความในไมโครซอฟท์วินโดวส์ สามารถใช้ปุ่มลูกศรหรือเมาส์เลือกข้อความ แต่เมื่อพิมพ์ตัวอักษรลงไป ข้อความเดิมที่ถูกเลือกจะถูกลบทิ้งไป และ Vim จะเข้าสู่โหมด insert พร้อมทั้งแทรกตัวอักษรที่เพิ่งพิมพ์เข้าไป

โหมดย่อย insert select

เข้าสู่โหมดนี้โดยการใช้เมาส์ลากบนข้อความ หรือใช้ปุ่มลูกศรร่วมกับปุ่ม shift เมื่อเลือกเสร็จ Vim จะกลับไปโหมด insert

โหมด insert

โหมดนี้ ข้อความต่าง ๆ ที่พิมพ์เข้าไป จะไปปรากฏอยู่ในข้อมูลไฟล์ เป็นโหมดที่ผู้ใช้คุ้นเคยเมื่อใช้โปรแกรมเอดิเตอร์อื่น ๆ

เวลาจะออกจากโหมด insert ไปยังโหมด normal ให้กดปุ่ม ESC

โหมดย่อย replace

โหมดนี้เป็นโหมด insert แบบพิเศษ แทนที่จะไปแทรกในเอกสาร ตัวอักษรที่พิมพ์เข้าไปจะไปทับของเก่า

โหมด command-line

ในโหมด command-line สามารถพิมพ์คำสั่งหนึ่งบรรทัด ซึ่งอาจเป็นคำสั่ง (ขึ้นต้นบรรทัดด้วยตัวอักษร :) ค้นหา (ขึ้นต้นด้วย / หรือ ?) หรือ คำสั่ง filter (ขึ้นต้นด้วย !)

โหมด ex

เหมือนโหมด command-line แต่สามารถพิมพ์คำสั่งได้เรื่อย ๆ จนกว่าจะใส่คำสั่ง visual

โหมด evim

เป็นโหมดพิเศษสำหรับ GUI โดย Vim จะจำลองตัวเองเหมือนกับเอดิเตอร์อื่นที่ไม่มีโหมด เอดิเตอร์จะเริ่มทำงานในโหมด insert ผู้ใช้สามารถใช้เมนู เมาส์ ปุ่มควมคุมบนแป้นพิมพ์ เช่น ปุ่มลูกศร สามารถเข้าโดยการพิมพ์ evim บนบรรทัดคำสั่งในยูนิกซ์ หรือ คลิกบนไอคอน evim ในวินโดวส์

ความสามารถที่เพิ่มจาก vi

Vim สามารถทำงานจำลองได้ใกล้เคียงกับ vi และยังมีขีดความสามารถุเพิ่มเติมเช่น

ดูเพิ่ม

อ้างอิง

แหล่งข้อมูลอื่น

  • โฮมเพจของ Vim (อังกฤษ)
  • คู่มือการใช้งาน[ลิงก์เสีย] (อังกฤษ)

บทความน, ไม, การอ, างอ, งจากแหล, งท, มาใดกร, ณาช, วยปร, บปร, งบทความน, โดยเพ, มการอ, างอ, งแหล, งท, มาท, าเช, อถ, เน, อความท, ไม, แหล, งท, มาอาจถ, กค, ดค, านหร, อลบออก, เร, ยนร, าจะนำสารแม, แบบน, ออกได, อย, างไรและเม, อไร, หร, อมาจาก, improved, เป, นซอฟต, แวร,. bthkhwamniimmikarxangxingcakaehlngthimaidkrunachwyprbprungbthkhwamni odyephimkarxangxingaehlngthimathinaechuxthux enuxkhwamthiimmiaehlngthimaxacthukkhdkhanhruxlbxxk eriynruwacanasaraemaebbnixxkidxyangiraelaemuxir Vim hrux wim yxmacak Vi IMproved epnsxftaewresri sahrbexdietxrsahrbaekikhifl mirakthankarphthnamacakopraekrm vi thimixyuedim samarththanganbnrabbptibtikarhlay tw Vim thukphthnaody aebrm mulinar Bram Moolenaar xxkephyaephrepnkhrngaerkinpi ph s 2534 nbtngaetnnmamikarephimetimkhidkhwamsamarthihkb Vim khwamsamarthhlayxyangxxkaebbmaihepnpraoychninkaraekikhsxrsokhdopraekrm Vim thukxxkaebbsahrbthng command line interface aela graphical user interfaceVimphuphthnaaebrm mulinar aelakhnxun runlasud7 4 10 singhakhm ph s 2556rabbptibtikarlinuks aemkhoxexsethn yuniks imokhrsxfthwinodwspraephthexdietxrsyyaxnuyatihphuichbricakhephuxsatharnakuslewbisthttp www vim orgodydngedim Vim thanganbnrabbptibtikar xamika ethann cnkrathngmikarphthna snbsnunkarthanganbnrabbptibtikarhlay tw inpi ph s 2549 Vim ekhythukohwtihepnhmwdhmuexdietxryxdniyminnitrysar Linux Journal enuxha 1 eriynrukarich Vim 2 ohmdkaraekikh 2 1 ohmd normal 2 2 ohmdyxy operator pending 2 3 ohmdyxy insert normal 2 4 ohmd visual 2 5 ohmdyxy insert visual 2 6 ohmd select 2 7 ohmdyxy insert select 2 8 ohmd insert 2 9 ohmdyxy replace 2 10 ohmd command line 2 11 ohmd ex 2 12 ohmd evim 3 khwamsamarththiephimcak vi 4 duephim 5 xangxing 6 aehlngkhxmulxuneriynrukarich Vim aekikhVim thuxepnopraekrmthieriynruyaktwhnung aetthaphuichcbhlkkarphunthanid ksamarthichnganidkhlxngtwkhunmak ephuxchwyiheriynruerwkhun cungmiopraekrmsxnwithiich Vim odykarphimphkhasng vimtutor bnbrrthdkhasnginyuniks hruxkhlikbnixkhxn Vim tutor bnwinodws nxkcakniphayin Vim exngkmikhumuxkarichnganodylaexiydsungpraktbncxodykarphimphkhasng help user manual phayin Vimphuichyngsamarthxan rabbkhxkhwamchwyehlux odykarphimphkhasng helpohmdkaraekikh aekikhwithikartidtxkbphuichin Vim mihlayohmdkarthangan karkdpumbnaepnphimphcaihphllphthaetktangknkhunxyukbohmdkarthanganinpccubn phuichsamarthepliynipmarahwangohmdodyihaepnphimph ehmaakbphuthisamarthphimphsmphsid imehmuxnkbexdietxrhlaytwthitxngichemashruxeluxkkhasnginemnuinkarichnganVim miohmdphunthanxyu 6 ohmd aelaaeykyxycakohmdphunthanidxik 5 ohmd ohmd normal aekikh ohmd normal epnohmdthisamarthphimphkhasngtang echnephuxekhluxnyayekhxresxr lbkhxkhwam epntn ewlaerimtnopraekrm Vim caekhamaxyuinohmdniVim epnopraekrmthiichnganidmiprasiththiphlkmacakkhasngthihlakhlayinohmdni twxyangechn thatxngkarlbthngbrrthdthitaaehnngekhxresxr kichkhasng dd thatxngkarlbthngbrrthdpccubnaelabrrthdthdip kichkhasng dj odythi d hmaythunglb swn j epnpumthiichinkareluxnekhxresxrlng aethnthicaichkhasng dj yngsamarthichkhasng 2dd hmaythungthakhasng dd sxngkhrng kid emuxphuicheriynrukhasngkarekhluxnthiekhxresxrtang aelawithikarnakhasngmarwmkn ksamarthichnganidrwderwkwaexdietxraebbthiimmiohmdemuxxyuinohmdni samarthekhaipinohmd insert sahrbaethrkkhxkhwamidhlaythang echn ichpum a hmaythung append hruxphimphtxthay hrux i hmaythung insert hruxphimphaethrk ohmdyxy operator pending aekikh ohmdniepnohmdyxykhxngohmd normal emuxphuichpxnkhasngaelaopraekrm Vim rxphuichekhluxnyayekhxresxrephuxihkhasngsmburn Vim yngsamarthrbkhasngaethnkarkhybekhxresxr eriykwa text object echn aw hmaythung kha word as hmaythung praoykh sentense ap hmaythungyxhna paragraph twxyangkarichechn khasng d2as calbpraoykhpccubnaelapraoykhthdip ohmdyxy insert normal aekikh epnxikohmdyxykhxngohmd normal Vim caekhaohmdniemuxphuichkdpum control o khnaxyuinohmd insert Vim caekhamaxyuinohmd normal aetcarbephiyngkhasngediywaelwklbipyngohmd insert odyxtonmti ohmd visual aekikh inohmdniewlaeluxnekhxresxrcathaihkhxkhwamthukihilttam cnkwacaiskhasngephuxcdkarkbkhxkhwamthithukeluxknn samarthichkhasng text object inohmdniiddwy ohmdyxy insert visual aekikh ekhaohmdnicakohmd insert odykdpum control o caekhaohmdniephuxeluxkkhxkhwam emuxeluxkesrccaklbipohmd insert tamedim ohmd select aekikh khlaykbkareluxkkhxkhwaminimokhrsxfthwinodws samarthichpumluksrhruxemaseluxkkhxkhwam aetemuxphimphtwxksrlngip khxkhwamedimthithukeluxkcathuklbthingip aela Vim caekhasuohmd insert phrxmthngaethrktwxksrthiephingphimphekhaip ohmdyxy insert select aekikh ekhasuohmdniodykarichemaslakbnkhxkhwam hruxichpumluksrrwmkbpum shift emuxeluxkesrc Vim caklbipohmd insert ohmd insert aekikh ohmdni khxkhwamtang thiphimphekhaip caippraktxyuinkhxmulifl epnohmdthiphuichkhunekhyemuxichopraekrmexdietxrxun ewlacaxxkcakohmd insert ipyngohmd normal ihkdpum ESC ohmdyxy replace aekikh ohmdniepnohmd insert aebbphiess aethnthicaipaethrkinexksar twxksrthiphimphekhaipcaipthbkhxngeka ohmd command line aekikh inohmd command line samarthphimphkhasnghnungbrrthd sungxacepnkhasng khuntnbrrthddwytwxksr khnha khuntndwy hrux hrux khasng filter khuntndwy ohmd ex aekikh ehmuxnohmd command line aetsamarthphimphkhasngideruxy cnkwacaiskhasng visual ohmd evim aekikh epnohmdphiesssahrb GUI ody Vim cacalxngtwexngehmuxnkbexdietxrxunthiimmiohmd exdietxrcaerimthanganinohmd insert phuichsamarthichemnu emas pumkhwmkhumbnaepnphimph echn pumluksr samarthekhaodykarphimph evim bnbrrthdkhasnginyuniks hrux khlikbnixkhxn evim inwinodwskhwamsamarththiephimcak vi aekikhVim samarththangancalxngidiklekhiyngkb vi aelayngmikhidkhwamsamarthuephimetimechn mirunthithanganbnrabbptibtikartang echn xamika dxs imokhrsxfthwinodws runtang oxexsthu yuniks linuks aela aemkhoxexsethn epntn mirabbkhwamchwyehlux samarthaekikhiflthithukbibxddwy gzip bzip2 ZIP aela tar snbsnun regular expression ohmd GUI khidkhwamsamarthehmuxn IDE ichemasid aekikhiflthangriomtphanthang ssh ftp aela http trwcsxbkarsakdkha snbsnun yuniokhd snbsnun tabbed window samarthyxnklbidimcakdduephim aekikhvi Emacsxangxing aekikhaehlngkhxmulxun aekikhohmephckhxng Vim xngkvs khumuxkarichngan lingkesiy xngkvs ekhathungcak https th wikipedia org w index php title wim amp oldid 9665866, wikipedia, วิกิ หนังสือ, หนังสือ, ห้องสมุด,

บทความ

, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม