คำสั่ง vim / การกดแป้นพิมพ์ที่ใช้บ่อยที่สุดคืออะไร?


112

ฉันเป็นโปรแกรม Ruby ที่พยายามเปลี่ยนจาก Textmate เป็น MacVim และฉันมีปัญหาในการลุยรายการสิ่งต่างๆมากมายที่คุณสามารถทำได้ใน VIM และการกดแป้นทั้งหมดสำหรับพวกเขา ฉันเบื่อที่จะได้ยิน "คุณสามารถใช้" ฉัน "ในการแทรกข้อความหรือ" a "สำหรับการต่อท้ายข้อความหลังอักขระหรือ" A "สำหรับการต่อท้ายข้อความที่ท้ายบรรทัดหรือ ... " ฉันนึกไม่ออก ทุกคนใช้การกดแป้นพิมพ์ทั้งหมด 20 ปุ่มเพื่อนำทางข้อความ 10 หรือมากกว่านั้นเพื่อเริ่มเพิ่มข้อความและ 18 วิธีในการเลือกบล็อกด้านในด้วยสายตา หรือป่าว!?

แผ่นโกงในอุดมคติของฉันคือการกดแป้นพิมพ์หรือคำสั่งที่ใช้บ่อยที่สุด 30-40 รายการที่ทุกคนใช้ในการเขียนโค้ดในชีวิตประจำวันพร้อมกับปลั๊กอินที่จำเป็นอย่างยิ่งที่ทับทิมใช้ทุกวันและคำสั่งที่ใช้มากที่สุด 10 คำสั่งสำหรับพวกเขา ในทางทฤษฎีเมื่อฉันมีที่และเริ่มกลายเป็นความเชี่ยวชาญในการเป็นกลุ่มเป็นฉันใน Textmate, แล้วฉันจะเริ่มต้นเรียนรู้หลายพันของคำสั่งที่เป็นกลุ่มอื่น ๆ ที่จะทำให้ฉันมากขึ้นได้อย่างมีประสิทธิภาพ

หรือว่าฉันเรียน VIM ผิดวิธี?


9
อ้างอิงหน้าที่ที่จะcafepress.com/geekcheat.11507711
geekosaur

1
ติดแท็กใหม่เพื่อลบ "ทับทิม" และเพิ่ม "แป้นพิมพ์ลัด" ดูเหมือนจะเหมาะสมกว่า

"ฉันเรียน Vim ผิดวิธีหรือเปล่า" - ไม่คุณเพียงแค่ต้องเริ่มต้นด้วยพื้นฐานบางอย่างและจำไว้ว่าคุณจะยังคงเรียนรู้คำสั่งเพิ่มเติมในอีกหนึ่งปีนับจากนี้ สักวันคุณอาจจะใช้ทุกคำสั่งจริงๆ! แต่ไม่มีใครใช้มันทั้งหมดตั้งแต่วันแรก
Cascabel

คำตอบ:


307

นี่คือคำแนะนำที่ฉันเขียนขึ้นครั้งหนึ่งโดยมีคำสั่งที่ฉันใช้เป็นประจำ:

อ้างอิง

ทั่วไป

  • คำสั่งเกือบทั้งหมดสามารถนำหน้าด้วยตัวเลขสำหรับการนับซ้ำ เช่น. 5ddลบ 5 บรรทัด
  • <Esc> นำคุณออกจากโหมดใดก็ได้และกลับสู่โหมดคำสั่ง
  • คำสั่งที่นำหน้าด้วย:จะดำเนินการในบรรทัดคำสั่งที่ด้านล่างของหน้าจอ
  • : ช่วยด้วยคำสั่งใด ๆ

การนำทาง

  • การเคลื่อนไหวของเคอร์เซอร์: ← hjk l →
  • โดยคำ:
    • wคำถัดไป (ตามเครื่องหมายวรรคตอน); Wคำถัดไป (โดยเว้นวรรค)
    • bกลับคำ (ตามเครื่องหมายวรรคตอน); คำหลังB (โดยเว้นวรรค)
    • eสิ้นสุดคำ (ตามเครื่องหมายวรรคตอน); E end word (เว้นวรรค)
  • ตามสาย:
    • 0จุดเริ่มต้นของบรรทัด ^ช่องว่างแรกที่ไม่ใช่ช่องว่าง
    • $ end of line
  • ตามย่อหน้า:
    • {บรรทัดว่างก่อนหน้า; }บรรทัดว่างถัดไป
  • ตามไฟล์:
    • ggเริ่มต้นของไฟล์; Gท้ายไฟล์
    • 123Gไปที่หมายเลขบรรทัดเฉพาะ
  • โดยเครื่องหมาย:
    • mxตั้งเครื่องหมายx ; 'xไปที่เครื่องหมายx
    • '. ไปที่ตำแหน่งของการแก้ไขล่าสุด
    • ''กลับไปที่จุดสุดท้ายก่อนกระโดด
  • การเลื่อน:
    • ^ Fไปข้างหน้าแบบเต็มหน้าจอ; ^ Bย้อนหลังแบบเต็มหน้าจอ
    • ^ Dลงครึ่งหน้าจอ; ^ Uขึ้นครึ่งหน้าจอ
    • ^ Eเลื่อนขึ้นหนึ่งบรรทัด ^ Yเลื่อนลงหนึ่งบรรทัด
    • เส้นเคอร์เซอร์ศูนย์zz

การแก้ไข

  • คุณเลิกทำ; ^ Rทำซ้ำ
  • . ทำซ้ำคำสั่งแก้ไขล่าสุด

การแทรก

คำสั่งการแทรกทั้งหมดถูกยกเลิก<Esc>เพื่อกลับสู่โหมดคำสั่ง

  • ฉันแทรกข้อความที่เคอร์เซอร์ ฉันแทรกข้อความที่จุดเริ่มต้นของบรรทัด
  • ข้อความผนวกหลังจากเคอร์เซอร์; ข้อความผนวกหลังจากการสิ้นสุดของเส้น
  • oเปิดบรรทัดใหม่ด้านล่าง Oเปิดบรรทัดใหม่ด้านบน

กำลังเปลี่ยน

  • rแทนที่อักขระเดี่ยว Rแทนที่อักขระหลายตัว
  • sเปลี่ยนอักขระเดี่ยว
  • cwเปลี่ยนคำ; Cเปลี่ยนเป็นจุดสิ้นสุดของบรรทัด ccเปลี่ยนทั้งเส้น
  • c<motion>เปลี่ยนข้อความตามทิศทางของการเคลื่อนไหว
  • ci (เปลี่ยนในวงเล็บ (ดูตัวอย่างการเลือกวัตถุข้อความ )

กำลังลบ

  • xลบถ่าน
  • dwลบคำ; Dลบไปที่ท้ายบรรทัด ddลบทั้งบรรทัด
  • d<motion>ลบไปตามทิศทางของการเคลื่อนไหว

ตัดและวาง

  • yyบรรทัดคัดลอกลงใน buffer วาง; ddตัดบรรทัดลงในบัฟเฟอร์วาง
  • pวางบัฟเฟอร์ใต้เส้นเคอร์เซอร์ Pวางบัฟเฟอร์เหนือเส้นเคอร์เซอร์
  • xpสลับสองอักขระ ( xเพื่อลบอักขระหนึ่งตัวจากนั้นpเพื่อใส่กลับหลังตำแหน่งเคอร์เซอร์)

บล็อก

  • vสตรีมบล็อกภาพ เส้นบล็อกภาพV ; ^ Vคอลัมน์บล็อกภาพ
    • คำสั่งการเคลื่อนไหวส่วนใหญ่จะขยายบล็อกไปยังตำแหน่งเคอร์เซอร์ใหม่
    • oเลื่อนเคอร์เซอร์ไปที่ปลายอีกด้านของบล็อก
  • dหรือxตัดบล็อกลงในบัฟเฟอร์วาง
  • yคัดลอกบล็อกลงในบัฟเฟอร์วาง
  • >เยื้องบล็อก; < unindent บล็อก
  • gvเลือกบล็อกภาพสุดท้ายอีกครั้ง

ทั่วโลก

  • :% s / foo / bar / g แทนการเกิด "foo" เป็น "bar" ทั้งหมด
    • % คือช่วงที่ระบุทุกบรรทัดในไฟล์
    • / g คือแฟล็กที่เปลี่ยนเหตุการณ์ทั้งหมดในบรรทัดแทนที่จะเป็นเพียงเหตุการณ์แรก

กำลังค้นหา

  • /ค้นหา; เหรอ? ค้นหาย้อนหลัง
  • *ค้นหาคำภายใต้เคอร์เซอร์ #ค้นหาคำย้อนหลังภายใต้เคอร์เซอร์
  • nนัดต่อไปในทิศทางเดียวกัน Nนัดถัดไปในทิศทางตรงกันข้าม
  • fxส่งต่อไปยังอักขระถัดไปx ; Fxย้อนกลับไปยังอักขระก่อนหน้าx
  • ; ย้ายอีกครั้งไปยังอักขระเดียวกันในทิศทางเดียวกัน ,ย้ายอีกครั้งเพื่อลักษณะเดียวกันในทิศทางตรงกันข้าม

ไฟล์

  • : wเขียนไฟล์ลงดิสก์
  • : wnameเขียนไฟล์ลงดิสก์เป็นname
  • ZZเขียนไฟล์ลงดิสก์และออก
  • : \ nแก้ไขไฟล์ใหม่; : n! แก้ไขไฟล์ใหม่โดยไม่บันทึกการเปลี่ยนแปลงปัจจุบัน
  • : qเลิกแก้ไขไฟล์; : q! ออกจากการแก้ไขโดยไม่บันทึกการเปลี่ยนแปลง
  • : eแก้ไขไฟล์เดียวกันอีกครั้ง (หากมีการเปลี่ยนแปลงนอกกลุ่ม)
  • : e. สำรวจไดเรกทอรี

Windows

  • ^ Wnหน้าต่างใหม่
  • ^ Wjลงไปที่หน้าต่างถัดไป ^ Wkถึงหน้าต่างก่อนหน้า
  • ^ W_ขยายหน้าต่างปัจจุบันให้ใหญ่สุด ^ W =ทำให้หน้าต่างทั้งหมดมีขนาดเท่ากัน
  • ^ W +เพิ่มขนาดหน้าต่าง ^ W-ลดขนาดหน้าต่าง

การนำทางที่มา

  • %ข้ามไปที่วงเล็บ / วงเล็บ / วงเล็บปีกกาที่ตรงกันหรือบล็อกภาษาหากโหลดโมดูลภาษา
  • gdไปที่คำจำกัดความของสัญลักษณ์ท้องถิ่นภายใต้เคอร์เซอร์ ^ Oกลับไปที่ตำแหน่งก่อนหน้า
  • ^]ข้ามไปที่คำจำกัดความของสัญลักษณ์สากล (ต้องใช้tagsไฟล์); ^ Tกลับไปที่ตำแหน่งก่อนหน้า (คงตำแหน่งไว้โดยพลการ)
  • ^ N (ในโหมดแทรก) การเติมคำอัตโนมัติ

แสดงการเปลี่ยนแปลงในท้องถิ่น

Vim มีคุณสมบัติบางอย่างที่ทำให้ง่ายต่อการเน้นเส้นที่เปลี่ยนจากเวอร์ชันพื้นฐานในการควบคุมแหล่งที่มา ฉันได้สร้างสคริปต์กลุ่มเล็ก ๆ ที่ทำให้สิ่งนี้ง่าย: http://github.com/ghewgill/vim-scmdiff


1
+1 ค่อนข้างน้อยแม้ว่าฉันต้องยอมรับว่าฉันไม่พบว่าตัวเองใช้คำสั่งหน้าต่างหรือการนำทางด้วยสิ่งอื่นใดนอกจากปุ่มลูกศร / pageup / pagedown / home / end และ gg / G อ้อและสำหรับการนำทางด้วยหมายเลขบรรทัดคุณยังสามารถใช้: 123 (โหมดคำสั่ง)

2
Cheatsheet ดี ฉันจะเพิ่ม^ w ^ wเพื่อวนรอบ windows : xแทนZZเพื่อความสอดคล้องtxไปข้างหน้าก่อนอักขระและTxย้อนกลับ
romainl

ฉันควรทราบว่านี่เป็นเพียงพื้นฐานของสิ่งที่ฉันใช้เท่านั้น ฉันสร้างรายการนี้เพื่อเป็นเครื่องมือในการสอนกลุ่มคนอื่น ๆ ฉันใช้คำสั่งอื่น ๆ ไม่บ่อยและยังมีนามแฝงและมาโครต่างๆที่ตั้งค่าเพื่อช่วยให้ฉันใช้กลุ่มได้อย่างมีประสิทธิภาพมากขึ้น
Greg Hewgill

2
หากคุณต้องการหลีกเลี่ยงEscคีย์ (และ RSI?) คุณสามารถใช้^[. ^cได้ผลเช่นกัน (แต่ไม่ขยายตัวย่อ) ที่มา: vim.wikia.com/wiki/Avoid_the_escape_key
Lian

22

http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html

นี่เป็นสิ่งที่ยิ่งใหญ่ที่สุดสำหรับการเรียนรู้ VIM


ฉันไม่เคยเห็นสิ่งนี้มาก่อนการอ้างอิงที่ยอดเยี่ยมมากสำหรับหลังจากที่คุณรู้ว่าคำสั่งทำอะไร
amccormack

3
ส่วน "กราฟิก" จะไร้ประโยชน์หากคุณไม่มีคีย์บอร์ดแบบ qwerty
romainl

5
ทำให้ฉันประหลาดใจที่การโพสต์ลิงค์ (ที่โพสต์จนตายไปแล้ว btw) ดึงดูดความสนใจได้มากขนาดนี้ในขณะที่ไปโพสต์อื่น ๆ อีกหลายไมล์ที่ใส่ไว้อย่า ...
Lieven Keersmaekers

ผู้ชนะที่ชัดเจนในการโพสต์แบบกลุ่ม: stackoverflow.com/questions/1218390/…
Justin Thomas


4

คุณเคยใช้บทช่วยสอนในตัวของ Vim หรือไม่? vimtutorถ้าไม่ลดลงถึงบรรทัดคำสั่งและประเภท เป็นวิธีที่ดีในการเรียนรู้คำสั่งเริ่มต้น

Vim มีความยืดหยุ่นและพลังที่เหลือเชื่อและหากคุณเป็นเหมือนผู้ใช้ที่เป็นกลุ่มส่วนใหญ่คุณจะได้เรียนรู้คำสั่งใหม่ ๆ มากมายและลืมคำสั่งเก่า ๆ จากนั้นเรียนรู้ใหม่ ความช่วยเหลือในตัวเป็นสิ่งที่ดีและควรค่าแก่การเรียกดูเป็นระยะเพื่อเรียนรู้สิ่งใหม่ ๆ

มีคำถามที่พบบ่อยและ Cheatsheets ที่ดีมากมายสำหรับกลุ่มบนอินเทอร์เน็ต ฉันขอแนะนำให้ค้นหาและvim + faq Cheat-Sheets.org # เป็นกลุ่มเป็นแหล่งที่ดีที่เป็นกลุ่มเคล็ดลับวิกิพีเดียvim + cheatsheet


ฉันเพิ่งค้นพบเกี่ยวกับเรื่องนี้และโชคดีที่มันติดตั้งบน Mac ทดลองใช้ตอนนี้ (เวลา 01.00 น. …)
คลินตัน

ฉันใช้ vim มาเป็นเวลานานและเป็นหนึ่งในสิ่งแรกที่ฉันติดตั้งบนเครื่อง MacVimบน Mac OS นั้นดีมาก ฉันมักจะรวบรวม vim จากซอร์สบนกล่อง Linux ส่วนใหญ่ที่ฉันใช้เพียงเพราะ distros ส่วนใหญ่ไม่เป็นปัจจุบันหรือไม่มีการตั้งค่าการรองรับภาษาที่ถูกต้อง ฉันเก็บเวอร์ชันปัจจุบันของฉัน~/.vimrc, ~/.gvimrcและ~/.vimไดเรกทอรีใน tar ลูกเมื่อฉันมีชุดบางสิ่งบางอย่างขึ้น การคัดลอกและการแตกไฟล์ทำให้ฉันสามารถทำงานเป็นกลุ่มด้วยคำสั่งและ colorchemes ตามปกติทั้งหมดของฉันในไม่กี่นาทีบน Windows, Macs และ Linux
The Tin Man

3

สิ่งที่คนส่วนใหญ่ทำคือการเริ่มต้นด้วยพื้นฐานเปลือยเช่นบางทีi, yw, และyy pคุณสามารถใช้ปุ่มลูกศรเพื่อเลื่อนไปมาได้เรื่อย ๆ เลือกข้อความด้วยเมาส์ใช้เมนู ฯลฯ จากนั้นเมื่อมีบางอย่างทำให้คุณช้าลงคุณจะมองหาวิธีที่เร็วกว่าในการดำเนินการและค่อยๆเพิ่มคำสั่งมากขึ้นเรื่อย ๆ คุณอาจเรียนรู้คำสั่งใหม่วันละคำสั่งจากนั้นจะลดลงเหลือหนึ่งคำสั่งต่อสัปดาห์ คุณจะรู้สึกได้ผลอย่างเป็นธรรมในหนึ่งเดือน หลังจากผ่านไปหนึ่งปีคุณจะมีละครที่ค่อนข้างมั่นคงและหลังจากนั้น 2-3 ปีคุณจะไม่ได้คิดว่านิ้วของคุณกำลังพิมพ์อะไรอยู่และมันจะดูแปลก ๆ ถ้าคุณต้องสะกดมันให้ใครสักคน ฉันเรียนรู้ vi ในปี 1993 และยังคงได้รับคำสั่งใหม่ 2 หรือ 3 คำต่อปี


3

Cheatsheet ของ @Greg Hewgill ดีมาก ฉันเริ่มเปลี่ยนจาก TextMate เมื่อสองสามเดือนก่อน ตอนนี้ฉันมีประสิทธิผลเช่นเดียวกับ TM และประหลาดใจกับพลังของ Vim อยู่ตลอดเวลา

นี่คือวิธีการที่ฉันเปลี่ยน บางทีมันอาจเป็นประโยชน์กับคุณ

Grosso modo ฉันไม่คิดว่าจะเปลี่ยนแบบรุนแรง Vim แตกต่างกันมากและดีที่สุดที่จะก้าวไปข้างหน้า

และเพื่อตอบคำถามย่อยของคุณใช่ฉันใช้ทุกiaIAoOวันเพื่อเข้าสู่โหมดแทรก มันดูแปลก ๆ ในตอนแรก แต่หลังจากนั้นไม่นานคุณก็ไม่ได้คิดอะไร

คำสั่งบางคำมีประโยชน์อย่างเหลือเชื่อสำหรับงานที่เกี่ยวข้องกับการเขียนโปรแกรม:

  • rและRเพื่อแทนที่อักขระ
  • <C-a>และ<C-x>เพื่อเพิ่มและลดตัวเลข
  • citเพื่อเปลี่ยนเนื้อหาของแท็กและตัวแปรของมัน ( cat, dit, dat, ci(ฯลฯ )
  • <C-x><C-o>(แมปกับ,,) สำหรับ omnicompletion
  • การเลือกบล็อกภาพด้วย <C-v>
  • และอื่น ๆ ...

เมื่อคุณคุ้นเคยกับวิธีการเป็นกลุ่มแล้วมันจะยากมากที่จะไม่โดนoหรือxตลอดเวลาเมื่อแก้ไขข้อความในโปรแกรมแก้ไขหรือฟิลด์ข้อความอื่น ๆ


2

ฉันนึกไม่ถึงว่าทุกคนจะใช้การกดแป้นพิมพ์ทั้งหมด 20 ปุ่มเพื่อนำทางข้อความ 10 หรือมากกว่านั้นเพื่อเริ่มเพิ่มข้อความและ 18 วิธีในการเลือกบล็อกด้านในด้วยสายตา หรือป่าว!?

ฉันทำ.

ตามทฤษฎีแล้วเมื่อฉันมีสิ่งนั้นและเริ่มมีความเชี่ยวชาญใน VIM เหมือนกับที่ฉันอยู่ใน Textmate ฉันก็สามารถเริ่มเรียนรู้คำสั่ง VIM อื่น ๆ อีกมากมายที่จะทำให้ฉันมีประสิทธิภาพมากขึ้น

นั่นเป็นวิธีที่เหมาะสมที่จะทำ เริ่มต้นด้วยคำสั่งพื้นฐานจากนั้นเลือกคำสั่งที่ช่วยเพิ่มประสิทธิภาพการทำงานของคุณ ฉันชอบติดตามบล็อกนี้เพื่อดูเคล็ดลับในการปรับปรุงประสิทธิภาพการทำงานด้วยกลุ่ม


2

tuxfiles.orgมีสูตรโกงที่ค่อนข้างดี ฉันคิดว่ามีสองประเด็นในการเรียนรู้คำสั่ง:

  • อ่านข้อมูลสรุปเป็นประจำ ไม่ต้องกังวลกับการใช้งานทั้งหมดหรือจดจำคีย์ทั้งหมดเพียงแค่รู้ว่ามีคำสั่งอยู่ ค้นหาคำสั่งและใช้เมื่อคุณพบว่าตัวเองทำอะไรซ้ำ ๆ
  • หากคุณพบว่าตัวเองกำลังทำอะไรอยู่เป็นประจำ (เช่นการลบทั้งบรรทัดหลังอักขระเฉพาะd$) ให้ไปค้นหาโดย Google อย่างรวดเร็วเพื่อดูว่าคุณสามารถหาคำสั่งสำหรับคำสั่งนั้นได้หรือไม่
  • จดคำสั่งที่คุณคิดว่ามีประโยชน์และเก็บรายการนั้นไว้ในที่ที่คุณสามารถเห็นได้ในขณะที่คุณเขียนโค้ด ฉันจะเถียงไม่ให้พิมพ์อะไรออกไปและแทนที่จะแนะนำให้คุณใช้โพสต์บันทึกย่อเพียงไม่กี่คำสั่งในแต่ละครั้ง
  • ถ้าเป็นไปได้ให้ดูโปรแกรมเมอร์คนอื่นใช้ vim และถามพวกเขาว่าพวกเขาใช้คำสั่งอะไรเมื่อคุณเห็นว่าพวกเขาทำสิ่งที่น่าสนใจ

นอกจากเคล็ดลับเหล่านี้แล้วยังมีแนวคิดพื้นฐานบางประการที่คุณควรเข้าใจ

  • กลุ่มจะใช้อักขระเดียวกันเพื่อแสดงฟังก์ชันเดียวกัน d$ตัวอย่างเช่นในการลบเส้นหลังจากที่ใช้ตัวอักษร v$เพื่อเน้นเส้นหลังจากที่ใช้ตัวละครโดยเฉพาะอย่างยิ่ง ดังนั้นให้สังเกตว่า$คุณจะทำอะไรบางอย่างในตอนท้ายของบรรทัดจากตำแหน่งที่เคอร์เซอร์ของคุณอยู่ในขณะนี้
  • uกำลังเลิกทำและctrl+rกำลังทำซ้ำ
  • การใส่ตัวเลขไว้หน้าคำสั่งจะดำเนินการซ้ำ ๆ 3ddจะลบบรรทัดที่เคอร์เซอร์ของคุณเปิดอยู่และสองบรรทัดที่ตามมาในทำนองเดียวกัน3yyจะคัดลอกบรรทัดที่เคอร์เซอร์ของคุณเปิดอยู่และสองบรรทัดที่ตามมา
  • เข้าใจวิธีการนำทางผ่านบัฟเฟอร์ใช้:lsเพื่อแสดงรายการบัฟเฟอร์และ:bn, :bpเพื่อวงจรผ่านพวกเขา
  • อ่านบทช่วยสอนที่พบใน:help นี่อาจเป็นวิธีที่ดีที่สุดในการ 'เรียนรู้เชือก' และคำสั่งอื่น ๆ ที่คุณจะได้เรียนรู้ผ่านการใช้งาน

2

ใส่สิ่งนี้ใน. bashrc ของคุณเพื่อเปิดกลุ่มด้วยไฟล์ที่แก้ไขล่าสุดในบรรทัดที่แก้ไขล่าสุด

alias vil="vim  +\"'\"0"

1

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

จากนั้นใช้กลุ่มสำหรับทุกสิ่ง "hjkl", "y" และ "p" จะช่วยให้คุณไปได้ไกลแม้ว่าจะไม่ใช่วิธีที่มีประสิทธิภาพสูงสุดก็ตาม เมื่อคุณเจอกับงานที่คุณไม่รู้จักกุญแจวิเศษที่จะทำมันได้อย่างมีประสิทธิภาพ (หรือเลย) และคุณพบว่าตัวเองทำมันมากกว่าสองสามครั้งให้ไปค้นหามัน มันจะกลายเป็นธรรมชาติที่สอง

ฉันพบว่ามีดวงจันทร์ที่น่ากลัวหลายดวงที่ผ่านมา (ย้อนกลับไปเมื่อมันไม่มีตัว "m" ที่ด้านท้าย) แต่ใช้เวลาเพียงหนึ่งสัปดาห์ในการใช้งานอย่างสม่ำเสมอ ฉันยังคงพบว่ามันเป็นเครื่องมือแก้ไขที่เร็วที่สุดในการทำงานให้เสร็จ


ลิงก์ไปยัง "Efficient Editing with vim" ถูกยกเลิกแล้ว ฉันคิดว่าทางเลือกอื่นสามารถพบได้ที่robertames.com/files/vim-editing.html
Damian Powell
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.