เป็นวิธีที่ดีที่สุดในการบังคับตัวเองให้เป็นอาจารย์ที่หกคืออะไร? [ปิด]


205

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

ฉันเชื่อมั่น

ฉันเชื่อมั่นมาตลอด 2 ปีที่ผ่านมา แต่ฉันก็ยังไม่ได้ไปรอบ ๆ เพื่อบังคับตัวเองให้เรียนรู้ vi ในฐานะบรรณาธิการหลักของฉันเส้นโค้งการเรียนรู้นั้นสูงเกินไป เมื่อฉันทำงานให้ได้ผลผลิตที่ยอมรับได้ แต่ทันที (โดยใช้เครื่องมือแก้ไขปัจจุบันของฉัน) ได้รับรางวัลมากกว่าผลิตผลที่ยิ่งใหญ่มากยิ่งขึ้น (โดยใช้ vi)

ไม่มีใครมีเคล็ดลับที่ดีที่จะช่วยให้ผ่านพ้นช่วงการเรียนรู้หรือไม่? มันอาจเป็นเคล็ดลับตรงๆบางบทเรียนหรือบทความอื่น ๆ

แก้ไข: โปรดทราบว่าฉันทราบถึงตัวแปร vim / gVim , CreamและMacVim (ฯลฯ ) ของ vi ฉันเก็บคำถามของฉันเกี่ยวกับ vi เพื่ออ้างถึงตระกูล vi โดยรวม ขอบคุณสำหรับคำตอบที่ยอดเยี่ยมทั้งหมด

อัปเดต (เมษายน 2009)

ฉันใช้ Vim (แม่นยำกว่า MacVim) ในชีวิตประจำวันตั้งแต่เดือนธันวาคมปีที่แล้ว ฉันจะไม่กลับไป :-)

ขอให้โชคดีกับทุกคนในการเรียนรู้เป็นกลุ่ม


14
ฉันเรียนเป็นกลุ่มเพราะฉันไม่รู้วิธีเปลี่ยนเครื่องมือแก้ไขเริ่มต้นเมื่อหลายปีก่อน ;)
อยู่จริง

เนื่องจากเป็นการวัดความรู้ที่ได้รับเมื่อเวลาผ่านไปโดยทั่วไปการเรียนรู้ที่สูงชันจึงเป็นสิ่งที่ดีนั่นหมายความว่าคุณกำลังเรียนรู้ได้อย่างรวดเร็ว :)
converter42

เมื่อเช้านี้ฉันกำลังดิ้นรนกับ vi และเรียกดู Stack Overflow เพื่อเบี่ยงเบนความสนใจของฉันและเห็นและนี่คือใกล้ด้านบน! ดีใจที่ได้ยินว่าคุณยังใช้มันอยู่หวังว่าฉันจะอยู่ในรองเท้าของคุณภายในสี่เดือน
เกร็ก Noe


3
เช่นเดียวกับข้อสังเกตด้านข้าง: คุณรู้หรือไม่ว่าคุณจะได้รับ pluggins เป็นกลุ่มสำหรับเกือบทุกอย่าง! คุณสามารถรับปลั๊กอินเสียงเรียกเข้าสำหรับ firefox เพื่อให้กล่องข้อความของคุณทำหน้าที่เหมือนเสียงเรียกเข้า! อย่างไรก็ตามสิ่งนี้น่าสนใจยิ่งกว่านั้นก็มีประโยชน์ สิ่งที่มีประโยชน์ (แม้ว่าฉันยังไม่ได้ดาวน์โหลด) เป็น vim plugin สำหรับ eclipse ตอนนี้ดูเหมือนว่ามีประโยชน์!
sixtyfootersdude

คำตอบ:


125

ก่อนอื่นคุณอาจต้องการรับ Vim; มันมีคุณสมบัติที่ยอดเยี่ยมมากมายพร้อมทุกอย่างที่ vi มี

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

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


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

4
ฉันเห็นด้วยก็แค่เก็บไว้ คุณจะรู้ว่าคุณอยู่ที่นั่นเมื่อคุณถูกบังคับให้ใช้นาโนหรือแผ่นจดบันทึกและมันทำให้คุณบ้าคลั่ง!
Kyle Walsh

3
หลังจากเริ่มและหยุดใช้ Vim เป็นเวลาหนึ่งปีฉันก็พบว่าการซื้อหนังสือ Vim และทำให้ตัวเองผ่านไปได้ช่วยได้ไม่น้อย นอกจากนี้ฉันพยายามที่จะรักษาความคิดของ "จะต้องมีวิธีที่เร็วกว่าในการทำเช่นนี้" และดูอยู่ตลอดเวลา: ช่วยหาวิธีที่จะทำสิ่งที่ดีกว่า
JD Frias

2
นอกจากนี้ยังมีรายการคุณสมบัติที่มีประโยชน์ที่คุณต้องการทำความคุ้นเคย ฉันใช้เสียงเรียกเข้ามานานกว่า 5 ปีแล้วและฉันยังเก็บบันทึกย่อของ Tomboy ด้วยสิ่งใหม่ ๆ ที่ฉันได้เรียนรู้ว่าฉันต้องการใช้
Lucas Oman

65

สิ่งแรกที่ฉันจะทำคือวางกระดาษหรือหนังสือไว้เหนือปุ่มลูกศรของคุณและปุ่ม ins / home / end / pgup / down ของคุณ ไม่จำเป็นต้องใช้ใน Vi

ต่อไปฉันจะคุ้นเคยกับการกด ctrl + [เมื่อใดก็ตามที่คุณบอกให้กดหลบหนี มันเร็วกว่ามากและคุณไม่จำเป็นต้องละมือออกจากคีย์บอร์ด

จากนั้นฉันจะดูหน้าจอของฉัน:

http://www.youtube.com/watch?v=FcpQ7koECgk

http://www.youtube.com/watch?v=c6WCm6z5msk

http://www.youtube.com/watch?v=BPDoI7gflxM

http://www.youtube.com/watch?v=J1_CfIb-3X4

จากนั้นเพียงแค่ฝึกฝนฝึกฝนฝึกฝน

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


ฉันไม่คิดว่าผู้ใช้ Vi / Vim ยุคใหม่ควรหลีกเลี่ยงปุ่มเคอร์เซอร์ คุณอาจจะไม่เคยใช้ Vi บนระบบที่ไม่มีเคอร์เซอร์ดังนั้นการเรียนรู้ที่จะหลีกเลี่ยงไม่จำเป็นและมันก็ใช้ได้ดี (ทุกวันนี้)
tialaramex

24
ฉันได้ตั้งปุ่ม Caps-Lock บนแป้นพิมพ์ใหม่เพื่อ Escape ยิ่งเร็วกว่า ctrl + [!
Chris AtLee

ฉันเห็นด้วยกับการหลีกเลี่ยงปุ่มเคอร์เซอร์ หนึ่งในข้อดีของวิธีการเคลื่อนไหวของ Vi คือเมื่อคุณคุ้นเคยกับมันแล้วคุณถูกตั้งค่าไว้สำหรับทุกสถานการณ์ (อ่าน: บนเลย์เอาต์แล็ปท็อปที่แคบหรือในเซสชันระยะไกลบน OSES แปลก ๆ หรือผ่านเทอร์มินัลแปลก)
webmat

8
ฉันใช้เคอร์เซอร์จนกว่าฉันจะปิดการใช้งานใน. vimrc: map <Up> "" แผนที่ <ลง> "" แผนที่ <ขวา> "" แผนที่ <ซ้าย> "" ข้อมือของฉันขอบคุณที่ฉันกำจัดนิสัยนั้นไป!
Johan Kotlinski

2
โจอี้, ปุ่มลูกศรจะมีประโยชน์จริง ๆ , แต่มันก็เป็นการดีกว่าที่จะออกจากโหมดแทรก, นำทางไปยังตำแหน่งที่คุณต้องการและใส่กลับเข้าไปแทรกหรือเปลี่ยนหรืออะไรก็ตามที่จะทำในสิ่งที่คุณต้องการทำ การกดปุ่ม Escape หรือ ^ [เร็วกว่าการขยับมือของคุณ
Aaron Jensen

39

ขั้นตอนที่ 0:เรียนรู้วิธีการสัมผัสชนิด อย่างจริงจัง - หากนิ้วของคุณไม่ทราบว่าปุ่มใดเป็นกลุ่มแล้วจะเจ็บปวด และแม้ว่าคุณจะปฏิเสธเสียงเรียกเข้าการพิมพ์ด้วยระบบสัมผัสจะช่วยปรับปรุงการเขียนโปรแกรมของคุณ (ถามสตีฟเย็กก์ ) โดยให้ความสนใจในการตรวจสอบแรงเสียดทานลิงก์ มีเป็นจำนวนมากของซอฟแวร์ที่สามารถช่วยคุณในการปรับปรุงการพิมพ์ของคุณ

ขั้นตอนที่ 1:ใช้vimtutorเพื่อเริ่มต้นใช้งาน มันอยู่ใน gvim (ภายใต้เมนูช่วยเหลือที่ฉันคิดว่า) หรือคุณสามารถพิมพ์ 'vimtutor' ที่บรรทัดคำสั่ง ใช้เวลา 30-45 นาทีจากนั้นนิ้วมือของคุณจะรู้พื้นฐานของ vi / vim และคุณควรจะสามารถแก้ไขไฟล์ได้โดยไม่ต้องการที่จะเหวี่ยงแป้นพิมพ์ออกจากหน้าต่าง

ขั้นตอนที่ 2:ใช้เสียงเรียกเข้าทุกที่ ดูคำถามนี้ สำหรับเคล็ดลับและลิงก์สำหรับการใช้การผูกคีย์ vim และ vi ที่บรรทัดคำสั่งจากเว็บเบราว์เซอร์ของคุณสำหรับการเขียนอีเมลใน IDE ของคุณ ... คุณต้องใช้ vim เพื่อฝังการผูกคีย์ในหน่วยความจำกล้ามเนื้อของคุณ

ขั้นตอนที่ 3:เรียนรู้เพิ่มเติมเกี่ยวกับเสียงเรียกเข้า คุณจะมีรอยขีดข่วนพื้นผิวด้วย vimtutor คุณสามารถรับชมวิดีโอนี้หรืออ่านบทความนี้ (ทั้งเกี่ยวกับ "เจ็ดนิสัยของการแก้ไขข้อความที่มีประสิทธิภาพ" คุณสามารถ อ่าน เกี่ยวกับ เคล็ดลับ และ ลูกเล่น ใน StackOverflowคุณสามารถเรียกดูvimtipsเรียนรู้ litle มักจะเป็นคำแนะนำของฉัน - มีมาก ออกไปที่นั่นติดกับชิ้นขนาดกัดจะเป็นวิธีที่ดีที่สุดที่จะทำให้ความรู้ติด

ขั้นตอนที่ 4:กำไร :)


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

vimtutor ดีมาก :-)
user454083

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

26

ฉันเป็นผู้ใช้ vim อีกครั้งตลอดหลายปีที่ผ่านมา (ทำงาน sys admin เป็นครั้งคราว) ฉันเพิ่งเริ่มใช้เวลามากขึ้นในการเขียนโปรแกรมของฉันทำงานอยู่ในนั้น ฉันขอแนะนำให้เริ่มต้นด้วย gvim ด้วย มันเข้ากันได้ดีกับสภาพแวดล้อมระบบปฏิบัติการส่วนใหญ่และ (ยิ่งดีกว่า) คุณสามารถถอยกลับไปใช้เม้าส์ได้เมื่อคุณต้องการ :)

หากต้องการใช้ vim ให้รัน vimtutor (รวมกับ gVim) หนึ่งครั้งหรือสองครั้ง (ใช้เวลาหนึ่งชั่วโมงหรือมากกว่านั้น) ฉันไม่สามารถพูดเกินจริงได้ว่ามีประโยชน์กับฉันแค่ไหน! โดยเฉพาะอย่างยิ่งส่วนแรกเกี่ยวกับวิธีการต่าง ๆ ในการเลื่อนดูเอกสารและวิธีแก้ไขการบันทึกด้วยคำสั่งการเคลื่อนไหว ฯลฯ หลังจากนั้นสิ่งต่าง ๆ จะมีความชัดเจนมากขึ้น

จากนั้นเริ่มต้นทำการแก้ไขอย่างรวดเร็วด้วยสิ่งเล็กน้อย (สิ่งทดแทนแผ่นจดบันทึก) จนกว่าคุณจะสบายพอที่จะทำการแก้ไขที่มีประโยชน์ในคลิปอย่างรวดเร็ว จากนั้นลองทำงานประจำวันของคุณ คุณจะพบว่าตัวเองเป็นคำสั่ง "ทำซ้ำการกระทำล่าสุด" ในโปรแกรมแก้ไขอื่น ๆ ในเวลาไม่นาน!


คุณสามารถใช้เมาส์ในกลุ่มปกติโดยเรียกใช้ ": set mouse = a"
สตีเฟ่น Paulger

19

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

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

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

สองสามปีที่ผ่านมาฉันต้องทำงานบนแพลตฟอร์ม UNIX โดยที่ vi เป็นเครื่องมือแก้ไขตัวเดียว ฉันซื้อหนังสืออ้างอิงฉบับกระเป๋าเล็ก ๆ บน vi แต่ไม่ค่อยได้ใช้ ฉันสิ้นสุดการทำรายการและโพสต์ลงบนกำแพงเหมือนครั้งแรกที่ฉันใช้ vi ในตอนท้ายของสัปดาห์แรกฉันรู้สึกสบายมากแม้ว่าจะใช้เวลาห้าปีแล้วตั้งแต่ฉันใช้ vi


2
ฉันคิดว่านี่เป็นคำแนะนำที่ยอดเยี่ยมและนำไปใช้อย่างเท่าเทียมกันกับการเรียนรู้เครื่องมืออื่น ๆ เช่น IDE, ดีบักเกอร์, หรือแม้แต่บางอย่างเช่น Excel
davidavr

11

สำหรับฉัน VI เป็นเครื่องมือแก้ไขเหตุฉุกเฉินที่ดี แต่ไม่ใช่สิ่งที่ฉันต้องการใช้หากมีทางเลือกอื่น ฉันรู้ว่านี่ไม่ใช่สำหรับทุกคน แต่ฉันไม่ได้บอกว่ามันน่ากลัวหรืออะไรก็ตามฉันแค่ชอบ UI ที่ค้นพบได้

แต่คุณต้องรู้จักกับ VI จริงๆถ้าคุณทำสิ่งที่สำคัญใน Linux!

ดังนั้นเพียงแค่เรียนรู้พื้นฐาน: i = โหมดแทรก esc = ออกจากโหมดแทรก: wq = บันทึกและออก: q! = อย่าบันทึกและออก x = เมื่อไม่ได้อยู่ในโหมดแทรกให้ลบตัวละคร / = การค้นหา

คุณจะได้รับการแก้ไขในกรณีฉุกเฉิน ไม่มีสิ่งใดที่คุณไม่สามารถทำได้ด้วยคำสั่งเล็กน้อยเหล่านี้ (และการนำทางของหลักสูตร) ที่เหลือคุณสามารถ "Tack on" ตามที่คุณต้องการ

เก็บข้อมูลอ้างอิงหรือหนังสือไว้แม้ว่าเมื่อคุณต้องการใช้ VI คุณอาจไม่สามารถเรียกดูเว็บได้ แต่หน้า man นั้นอาจมีประโยชน์บ้าง


4
คำสั่ง: help เป็นหนึ่งในสิ่งที่มีประโยชน์มากที่สุดที่คุณสามารถเรียนรู้ได้ในตอนแรก - ใครต้องการหนังสืออ้างอิงหรือเว็บเมื่อสร้างขึ้นมาเพื่อแก้ไข
zigdon

2
ไม่จำเป็นต้องมีหนังสืออ้างอิงหากคุณเรียนรู้ที่จะใช้: ความช่วยเหลือ สำหรับ "คุณอาจไม่สามารถท่องเว็บได้" ทำความคุ้นเคยกับคมและเบราว์เซอร์ลิงก์ คุณสามารถใช้เพื่อเรียกดูระบบไฟล์ได้
converter42


11

คุณควรเริ่มด้วยvim (Vi IMproved) และโดยเฉพาะ GUI - gVim gVimGUI มีเมนูและบน Windows คุณสามารถใช้ทางลัดคัดลอกตัดและวางเพื่อให้คุณสามารถแทนที่ Notepad ได้ทันที และเนื่องจากเมนูแสดงทางลัด (คำสั่ง vim) คุณสามารถเรียนรู้ได้มากมาย

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


ขึ้นอยู่กับเทอร์มินัลอีมูเลเตอร์การใช้ gui ก็เร็วขึ้นเช่นกัน :)
Arafangion

10

ลบแอพตัวแก้ไขข้อความอื่น ๆ ทั้งหมด

จากนั้นคุณจะต้องเรียนรู้มัน


9

วิธีที่ง่ายที่สุดในการ บังคับตัวเองอาจเป็นเพียงการลบบรรณาธิการอื่น ๆ ทั้งหมดออกจากเครื่องของคุณ กำจัดสิ่งล่อใจ :)


9

ทุกครั้งที่คุณทำงานแก้ไขที่ซับซ้อนให้สงสัยว่ามีวิธีที่มีประสิทธิภาพมากกว่านี้หรือไม่ เวลาส่วนใหญ่เมื่อเป็นสิ่งที่คุณสามารถอธิบายในแง่ง่าย ๆ (เช่น "สลับย่อหน้าของข้อความ" หรือ "ลบทุกอย่างหลังจากตัวละคร X ในบรรทัดที่มีความคิดเห็น") มันเป็นสิ่งที่คุณสามารถทำได้ด้วยการกดปุ่มเพียงสองครั้ง

มีคุณสมบัติที่สำคัญบางอย่างที่มีประโยชน์มากและคุณจะสิ้นสุดการใช้งานตลอดเวลา สิ่งที่ฉันรักมากที่สุดคือ:

  • การเลือกบล็อก (Ctrl-V)
  • การบันทึกมาโคร (q)
  • การแก้ไขเสมือน (: set ve = all)
  • นิพจน์ทั่วไป
  • Piping ไปยังโปรแกรม Unix ภายนอก
  • การแม็พคีย์
  • การเติมข้อความอัตโนมัติ (Cp, Cx Cp, Cx Cf)
  • การผสมผสานระหว่างการดำเนินการ + การเคลื่อนไหว

ถามโปรแกรมเมอร์คนอื่นว่าคุณลักษณะใดที่มีประโยชน์มากที่สุดและนำมาใช้กับสมองของคุณ ขโมยความคิดจากคนอื่น.vimrc( นี่คือของฉัน )


8

แก้ไข: ฉันได้สร้างflashcard ตั้งที่ไซต์การทำซ้ำออนไลน์ที่มีระยะห่าง flashcarddb.comในกรณีที่คุณสนใจ ...

  1. ใช้โปรแกรมแฟลชการ์ดซ้ำเว้นระยะเช่นMnemosyne , SuperMemoหรือAnkiที่จะรวมการเรียนรู้และรักษาคำสั่งใหม่ในชีวิตประจำวันของคุณ ไม่เพียงพอที่จะใช้ vim เป็นเครื่องมือแก้ไขรายวันของคุณ คุณจะต้องเก็บรหัสเหล่านั้นไว้ในหัวเพื่อรอให้ได้ตามหลักวางรอเวลาที่พวกเขาเป็นทางออกที่ดีที่สุดสำหรับงานที่ทำอยู่
  2. รักษา. vimrc ด้วยการปรับแต่ง
  3. เขียนหรือแก้ไขเป็นกลุ่มปลั๊กอิน

8

ฉันเขียนแนวทางในการแก้ไขอย่างมีประสิทธิภาพด้วย Vimสักพัก คุณอาจพบว่ามีประโยชน์

ฉันจะย้อนกลับไปสักครู่แล้วถามตัวเองว่า "ทำไมฉันถึงต้องการเรียนรู้การแก้ไขนี้อะไรทำให้ฉันคิดว่ามันจะเร็วกว่าหรือดีกว่าโปรแกรมแก้ไขข้อความในปัจจุบันของฉัน" จากนั้นเรียนรู้คุณสมบัติเหล่านั้นที่จะทำให้ Vi (m) ที่คุณขาดไม่ได้

ยกตัวอย่างเช่นการรวม CTags ของ Vim นั้นเป็นสิ่งที่ขาดไม่ได้สำหรับฉัน ฉันทำงานกับ codebase ขนาดใหญ่มากและความสามารถในการข้ามไปยังฟังก์ชั่นหรือคำจำกัดความของคลาสในการกดแป้นเดียว (ไม่ว่าไฟล์จะอยู่ที่ใด) เป็นคุณสมบัตินักฆ่าที่ฉันมีปัญหาในการทำงาน

ใช้ไฟล์. vimrc ของคุณเพื่อสร้างมาโครที่ทำให้งานทั่วไปเป็นไปโดยอัตโนมัติ

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


1
ลิงก์ใช้งานไม่ได้อีกต่อไป
2557


6

คำแนะนำของฉัน: เริ่มต้นเล็ก ๆ เพียงเริ่มต้นด้วยการจดจำชุดคำสั่งที่มีประโยชน์ที่สุดจำนวนเล็กน้อย เมื่อฉันเริ่ม vi นี่คือ 10 อันดับแรกของฉัน:

  • (Esc) เพื่อกลับสู่โหมดคำสั่ง (สำคัญที่สุด!)
  • a เพื่อเพิ่มข้อความหลังเคอร์เซอร์
  • A เพื่อเพิ่มข้อความที่ท้ายบรรทัดปัจจุบัน
  • x เพื่อลบ 1 ตัว
  • dd เพื่อลบ 1 บรรทัด
  • R เพื่อแทนที่ข้อความ (เขียนทับ)
  • คุณเลิกทำ
  • : Q! (Enter) เพื่อออกโดยไม่บันทึก
  • : w (Enter) เพื่อบันทึก
  • ZZ เพื่อบันทึกและออก

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

BTW ฉันต้องการเพิ่มว่าฉันเคยใช้ vi สำหรับโปรแกรมแก้ไขข้อความหลักของฉัน แต่ตอนนี้ถ้าฉันต้อง ในกรณีของฉันประสิทธิภาพจะดีกว่าเมื่อฉันใช้เครื่องมือเช่น Emacs หรือ Visual Studio (โปรดทราบ: "ในกรณีของฉัน") ลองใช้มากกว่าหนึ่งเครื่องมือและเลือกเครื่องมือที่ช่วยเพิ่มผลผลิตของคุณได้มากที่สุด โชคดี!


คำสั่ง ZZ ไม่ทำงานใน macvim
innuendoreplay


4

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

ตอนนี้ปิดการใช้งาน / ลบบรรณาธิการอื่น ๆ ในที่ทำงานเพื่อให้คุณใช้เวลาในการค้นหาและติดตั้งใหม่กว่าดูที่แผ่นเปรียบเทียบของคุณและทำใน vi - เช่นคุณไม่มีทางเลือก

สุดท้ายเผยแพร่รายการทางลัดครอสโอเวอร์ของคุณจากเครื่องมือแก้ไขเก่าไปยังบล็อกใหม่ของคุณในบล็อก

โชคดี!


4

อย่าใช้X11ใช่ไหม

$ sudu rm /usr/local/bin/emacs

เปลี่ยนล็อกอินเชลล์เป็นviหรือไม่

ก่อนอื่นบังคับให้คุณใช้edแล้วviจะดูหรูหราใช่ไหม?

ใช้การโยงคีย์viในการทุบตี ?

เพิ่งเริ่มใช้viตลอดเวลา?

สำหรับฉันแล้วดูเหมือนว่าการเรียนรู้บรรณาธิการไม่แตกต่างจากการเรียนรู้ภาษามากนัก การแช่ทำงานได้ดีที่สุด

ผมใช้viสำหรับการแก้ไขอย่างรวดเร็วจริงๆหรือเมื่อฉันไม่สามารถใช้X11ด้วยเหตุผลบางอย่าง แต่ฉันอาศัยอยู่ในemacs บรรณาธิการที่ทรงพลังจริงๆมีค่าควรใช้เวลาในการเรียนรู้


3

คำแนะนำของฉันคือมากับโปรแกรมง่ายๆและเขียนพวกเขาเริ่มต้นจนจบโดยใช้ VI

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

ฉันได้ทำสิ่งนี้มาก่อนเพื่อทำความคุ้นเคยกับสภาพแวดล้อม / บรรณาธิการและทำงานได้ค่อนข้างดี

หากคุณกำลังมีปัญหาในการเขียนสิ่งต่าง ๆ ฉันขอแนะนำให้ทำโครงการที่คุณทำในโรงเรียน (หรือสิ่งอื่น ๆ ที่คุณเคยทำมาก่อนหน้านี้) วิธีการนี้มีโบนัสเพิ่มเพื่อให้คุณเห็นว่าคุณมีนักพัฒนาที่ดีขึ้นมากน้อยเพียงใด :)

แก้ไข: ลืมพูดถึงว่าคุณควรทำสิ่งนี้ทั้งหมดจากคอนโซลเพื่อหลีกเลี่ยงสิ่งล่อใจให้ใช้เมาส์!


3

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

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

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

หากคุณไม่มีทรัพยากรในท้องถิ่นมีหนังสือ / แบบฝึกหัด / เอกสารอ้างอิงมากมายออนไลน์ซึ่งควรตอบคำถามส่วนใหญ่ของคุณได้

ในที่สุดการเรียนรู้ Vi ก็เหมือนกับการเรียนรู้ทักษะอื่น ๆ ไม่มีกระสุนเงินและคุณจะต้องยอมรับสิ่งนั้นสักพักคุณจะมีประสิทธิผลน้อยลงจากนั้นแก้ไขในปัจจุบันของคุณ เพียงแค่บอกตัวเองว่า "คนอื่นสามารถเรียนรู้ Vi และอย่างน้อยฉันก็ฉลาดเหมือนพวกเขา" (นั่นคือสิ่งที่ฉันบอกตัวเองต่อไป :))


3

เหตุผลหลักสำหรับฉันที่จะใช้ viคือssh(หรือ Putty บน Windows): เมื่อคุณลงชื่อเข้าใช้เซิร์ฟเวอร์ Unix จากระยะไกลviจะมีให้ใช้เสมอ และทำงานได้กับ VT100 เมื่อไม่มีการแมปเคอร์เซอร์หรือ backspace / delete

การมีหนังสือเช่นVI Editor Pocket Referenceช่วยได้มาก


3

gVIM มีบทช่วยสอนที่ดีมาก (ลิงก์ในกลุ่มเมนูเริ่ม)

ฉันพบว่าการทำงานผ่านที่ช่วยให้ผ่านการเรียนรู้โคกแรก; จากนั้นการเปลี่ยน Visual Studio เป็น ViEMU ช่วยให้ฉันฝึกฝนทักษะการใช้ VI ของฉัน

นอกจากนี้ screencasts ที่http://vimcasts.org/นั้นยอดเยี่ยมมาก!


2

คุณสามารถใช้คีย์บอร์ดแฮปปี้แฮ็กเกอร์ (ไม่มีปุ่มลูกศร) และวางเม้าส์ (ไร้สาย) ให้พ้นมือในแต่ละครั้งที่คุณเริ่มแก้ไข


2

เป็นเรื่องง่ายที่จะเขียนรายการคำสั่ง / ทางลัดขนาดใหญ่ แต่ก็ยากที่จะจำได้ทั้งหมดโดยไม่ต้องฝึก

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

คุณจะต้องใช้เวลานานในการทำสิ่งต่างๆให้สำเร็จในระยะสั้นซึ่งเป็นโอกาสที่ชัดเจนสำหรับทางลัดใหม่ในการเรียนรู้

จากประสบการณ์ของฉันมันง่ายขึ้นเมื่อฉันพยายามที่จะไม่ทำอะไรมากเกินไปในคราวเดียว


2

ข้อเสนอแนะอันดับหนึ่งของฉัน: เรียนรู้การพิมพ์อย่างรวดเร็วโดยไม่จำเป็นต้องดูที่คีย์บอร์ด

หากคุณไม่สามารถสัมผัสประเภทและล่าสัตว์และจิกกัดลำไส้ใหญ่หรือ hjkl หรือ:% s / foo / bar เสมอให้ลืมมันไป การพิมพ์สามารถเร็วกว่าการใช้เมาส์ แต่ถ้าไม่ใช่ในกรณีของคุณ vi จะไม่ทำงาน

แต่รวมทักษะการพิมพ์ที่ดี ssh และหน้าจอและ vi จะเป็นธรรมชาติ


2

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

ด้วยบางสิ่งบางอย่างเช่นเสียงเรียกเข้า (ดังที่คนอื่น ๆ พูดกัน, เสียงเรียกเข้านั้นยอดเยี่ยมกว่า vi มาก) มันเป็นสิ่งสำคัญที่จะอ่านซ้ำและเรียกดูเอกสารเป็นระยะ อินเทอร์เฟซไม่สามารถค้นพบได้อย่างสมบูรณ์หากไม่มีมัน ด้วยการอ่านใหม่แต่ละครั้งคุณจะเห็นคุณลักษณะและพูดว่า "อ่าฮ่านั่นจะแก้ไขปัญหานี้ได้ฉันพยายามคิดออกเมื่อสัปดาห์ที่แล้ว" และจะยื่นมันออกไปในสมองของคุณ โซลูชั่นที่เชื่อมต่อกับปัญหาในโลกแห่งความเป็นจริงที่คุณจำได้ง่ายกว่าวิธีลัดแบบสุ่ม

ในท้ายที่สุดคุณสามารถใช้เสียงเรียกเข้าพร้อมกับคุณสมบัติย่อย ๆ ของมันได้ดังนั้นคุณจึงไม่ต้องกังวลกับเสียงระฆังและเสียงนกหวีดทั้งหมด ลองใช้ฟีเจอร์ทั้งหมดใน Word คิดว่า 99% ของผู้คนใช้มันหรือเปล่า?


2

ESC gg=Gการใส่รหัส reindent และ:retabการแปลงแท็บเป็นช่องว่างหรือช่องว่างเป็นแท็บนั้นเป็นสิ่งที่ทำให้ฉันรู้สึกชอบ ดังนั้นจริง ๆ แล้วคุณไม่จำเป็นต้องถูกบังคับให้ใช้มันคุณแค่ต้องเรียนรู้เมื่อมันสามารถช่วยคุณเพิ่มความเร็วได้

ผ่านvimtutorไป

เริ่มใช้เป็นกลุ่มสำหรับการแก้ไขอย่างง่ายเช่นไฟล์กำหนดค่าหรือ html เรียนรู้คำสั่งตามที่คุณต้องการ

ค้นหา google สำหรับ. vimrc ที่ใช้โดยผู้ที่ใช้ toolchain ที่มีลักษณะคล้ายกับของคุณ เปิดการเน้นไวยากรณ์ ค้นหาชุดสีที่ดี

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


2

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

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


2

ติดตั้ง gVimบนแพลตฟอร์มทั้งหมดที่คุณใช้

จากนั้นรัน vimtutor ( :help vimtutorหรือvimtutorที่บรรทัดรับคำสั่ง)

ดูการบรรยายต่อไปนี้และทำตามคำแนะนำ: 7 นิสัยสำหรับการแก้ไขข้อความที่มีประสิทธิภาพ 2.0

ฉันว่าคุณต้องการเริ่มใช้มันแน่นอนสำหรับการแก้ไขทั้งหมดของคุณ หากคุณกลัวว่าการสูญเสียผลิตภาพใช้เวลาหนึ่งวันในการฝึกฝนอย่างหนักแน่น (ฉันเคยทำสิ่งนี้เพื่อเปลี่ยนไปใช้ dvorak จาก qwerty และให้ผลผลิตของฉันสูงพอในวันจันทร์และจัดการกับมันหลังจากนั้น)

มันคุ้มค่ากับความพยายามและคุณจะไม่หันหลังกลับ!


1

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

ในกรณีของฉัน Viemu + vimperator ทำเคล็ดลับ


ฉันใช้ Komodo Edit ซึ่งมีการเชื่อมต่อกับเครือข่ายในตัวดังนั้นการเปลี่ยนไปใช้อุปกรณ์เหล่านั้นและเครื่องมือติดตั้ง vimperator ช่วยได้อย่างมาก ตอนนี้ถ้าฉันสามารถเปลี่ยน rtorrent ได้เท่านั้น ...
Xiong Chiamiov
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.