คำถามติดแท็ก vim

Vim เป็นโปรแกรมแก้ไขข้อความฟรีและโอเพ่นซอร์สสำหรับแพลตฟอร์มที่สำคัญ ๆ ช่วยให้มีประสิทธิภาพสูงในงานการแก้ไขข้อความจำนวนมาก แต่มีช่วงการเรียนรู้ที่สูงชัน หากต้องการเรียนรู้พื้นฐานให้เรียกใช้ ": help vimtutor" สำหรับคำถามที่ไม่ใช่การเขียนโปรแกรมโปรดใช้ https://vi.stackexchange.com/ แทน

9
รวมหลายบรรทัด (สองบล็อก) เป็นกลุ่ม
ฉันต้องการรวมสองบรรทัดของบล็อกใน Vim นั่นคือนำเส้นn..mและต่อท้ายบรรทัดa..bนั้น หากคุณต้องการคำอธิบาย pseudocode:[a[i] + b[i] for i in min(len(a), len(b))] ตัวอย่าง: abc def ... 123 45 ... ควรกลายเป็น abc123 def45 มีวิธีที่ดีในการทำเช่นนี้โดยไม่ทำการคัดลอกและวางด้วยตนเองหรือไม่?
323 vim 

12
การข้ามข้อความในโหมดแทรก
ขณะที่อยู่ในโหมดแทรกใน Vim มีวิธีใดบ้างที่จะข้ามข้อความที่ย้ายตัวละครบางตัวไปข้างหน้าและข้างหลังนอกเหนือจากการใช้ปุ่มลูกศร? ถ้าผมกดh, j, kและlขณะอยู่ในโหมดแทรกตัวละครที่เกิดขึ้นจริงจะพิมพ์บนหน้าจอแทนการย้ายผ่านข้อความ วิธีที่ฉันทำในขณะนี้คือต้องหันไปใช้Ctrl+ [( Esc) และข้ามไปตามเนื้อความในตอนนั้น แต่เห็นได้ชัดว่าไม่ได้ผล
321 vim  vi 


5
วิธีดูปลั๊กอินที่ทำให้ Vim ทำงานช้า?
มีวิธีในการโพรไฟล์ปลั๊กอินเป็นกลุ่มหรือไม่? MacVim .pyของฉันจะช้าลงและช้าลงเมื่อเปิดขนาดใหญ่ ฉันรู้ว่าฉันสามารถยกเลิกการเลือกปลั๊กอินทั้งหมดและเลือกทีละตัวอีกครั้งเพื่อตรวจสอบปลั๊กอินที่เป็นผู้ร้าย แต่มีวิธีที่เร็วกว่า? dotvim ของฉันอยู่ที่นี่: https://github.com/charlax/dotvim

9
วิธีเพิ่มขนาดหน้าต่างการแบ่งแนวตั้งใน Vim
:vsplit(รูปแบบย่อ:vs:) แบ่งวิวพอร์ตเป็นแนวตั้ง :30vsแบ่งวิวพอร์ตทำให้หน้าต่างใหม่กว้าง 30 อักขระ เมื่อสร้าง 30 หน้าต่าง char นี้แล้วจะเปลี่ยนขนาดเป็น 31 หรือ 29 ได้อย่างไร ด้วยหน้าต่างแนวนอนCtrl- W +เพิ่มจำนวนบรรทัดโดยหนึ่ง คำสั่งเทียบเท่าเพื่อเพิ่มคอลัมน์โดยหนึ่งคืออะไร
316 vim  window  viewport 

12
ฉันจะสลับตำแหน่งของไฟล์ที่เปิดสองไฟล์ (เป็น splits) เป็นกลุ่มได้อย่างไร
สมมติว่าฉันมีรูปแบบการแยกโดยพลการบางอย่างในกลุ่ม ____________________ | one | two | | | | | |______| | | three| | | | |___________|______| มีวิธีการสลับoneและtwoและรักษาเค้าโครงเดียวกันหรือไม่ มันง่ายในตัวอย่างนี้ แต่ฉันกำลังมองหาวิธีแก้ปัญหาที่จะช่วยให้รูปแบบที่ซับซ้อนมากขึ้น UPDATE: ฉันคิดว่าฉันควรจะชัดเจนมากขึ้น ตัวอย่างก่อนหน้าของฉันคือการทำให้เป็นจริงของ case-case ด้วยตัวอย่างจริง: ฉันจะสลับสองตัวแยกเหล่านั้นได้อย่างไรโดยรักษาเลย์เอาต์เดิมไว้ Update! 3 ปีขึ้นไป ... ฉันใส่โซลูชันของ sgriffin ในปลั๊กอิน Vim ที่คุณสามารถติดตั้งได้อย่างง่ายดาย! ติดตั้งกับผู้จัดการปลั๊กอินที่คุณชื่นชอบและลองใช้: WindowSwap.vim
313 layout  editor  split  vim 

18
ย้ายทั้งบรรทัดขึ้นและลงในกลุ่ม
ใน Notepad ++ ฉันสามารถใช้Ctrl+ Shift+ Up/ Downเพื่อย้ายบรรทัดปัจจุบันขึ้นและลง มีคำสั่งที่คล้ายกันนี้ในกลุ่ม? ฉันดูคำแนะนำไม่รู้จบ แต่ไม่พบสิ่งใดเลย หากไม่มีฉันจะผูกการกระทำกับชุดค่าผสมที่สำคัญได้อย่างไร แก้ไข: คำตอบของ Mykola ใช้ได้กับทุกบรรทัดนอกเหนือจากที่จุดเริ่มต้นและจุดสิ้นสุดของบัฟเฟอร์ การย้ายบรรทัดแรกขึ้นหรือบรรทัดล่างลงลบบรรทัดและเมื่อย้ายบรรทัดล่างขึ้นมันจะกระโดดสองช่องว่างในตอนแรกเช่นจำนำ! ใครสามารถเสนอการปรับแต่งใด ๆ ได้บ้าง
311 vim  vi 

12
เสียงเรียกเข้า: แทรกอักขระตัวเดียวกันข้ามหลายบรรทัด
บางครั้งฉันต้องการแก้ไขบล็อกข้อความแบบเห็นภาพข้ามหลายบรรทัด ตัวอย่างเช่นฉันจะใช้ข้อความที่มีลักษณะเช่นนี้: name comment phone email และทำให้มันเป็นแบบนี้ vendor_name vendor_comment vendor_phone vendor_email ปัจจุบันวิธีที่ฉันจะทำตอนนี้คือ ... เลือกทั้ง 4 แถวของบล็อกโดยการกดVจากนั้นjสี่ครั้ง >เยื้องกับ hกลับไปหนึ่งตัวอักษรด้วย Ctrlvไปเพื่อป้องกันโหมดภาพกับ เลือกสี่แถวโดยกดjสี่ครั้ง ณ จุดนี้คุณได้เลือกบล็อกที่มองเห็น 4x1 ช่องว่าง (สี่แถวและหนึ่งคอลัมน์) Cกด สังเกตุสิ่งนี้เยื้องไปทางซ้ายทีละคอลัมน์ พิมพ์ a " vendor_"โดยไม่ต้องใส่เครื่องหมายคำพูด สังเกตเห็นพื้นที่พิเศษที่เราต้องใส่กลับ Escกด นี่เป็นหนึ่งในไม่กี่ครั้งที่ฉันใช้Escเพื่อออกจากโหมดแทรก Ctrlcจะแก้ไขบรรทัดแรกเท่านั้น ทำซ้ำขั้นตอนที่ 1 <เยื้องไปทางอื่นด้วย ฉันไม่จำเป็นต้องเยื้องถ้ามีช่องว่างอย่างน้อยหนึ่งคอลัมน์หน้าคำ cฉันจะไม่จำเป็นต้องมีช่องว่างถ้าผมไม่ได้มีการยกเลิกการบล็อกภาพกับ แต่ถ้าฉันต้องชัดเจนแล้วมีวิธีทำสิ่งที่ฉันทำข้างต้นโดยไม่ต้องสร้างช่องว่างที่จำเป็นด้วยการเยื้องหรือไม่ ทำไมการแก้ไขหลายบรรทัดในครั้งเดียวจึงทำได้โดยออกจากโหมดแทรกด้วยEscมากกว่าCtrlc? นี่คือตัวอย่างที่ซับซ้อนมากขึ้น: name = models.CharField( max_length = 135 ) …
306 vim 


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

4
วิธีการขยาย / ยุบส่วนต่างใน Vimdiff?
ฉันเริ่มใช้ vimdiff วันนี้และต้องการทำบางสิ่งที่ฉันได้รับอนุญาตจากบรรณาธิการต่าง ๆ ที่ใช้ Windows (เช่นขยาย / ยุบส่วนต่างมีการขยายไฟล์แบบเต็ม / แตกต่างเพียง 3 บริบทด้านบนหรือ ด้านล่าง ฯลฯ ) ขณะนี้ฉันรู้เพียงคำสั่งต่อไปนี้: แป้นพิมพ์ลัด: do - รับการเปลี่ยนแปลงจากหน้าต่างอื่นไปที่หน้าต่างปัจจุบัน dp - นำการเปลี่ยนแปลงจากหน้าต่างปัจจุบันไปไว้ในหน้าต่างอื่น ]c - ข้ามไปยังการเปลี่ยนแปลงต่อไป [c - ข้ามไปยังการเปลี่ยนแปลงก่อนหน้า CTRL+ W, w- สลับไปที่หน้าต่างอื่น ๆ ที่แยก ( CTRL+ W, CTRL+ Wทำสิ่งเดียวกันในกรณีที่คุณปล่อยCTRLกุญแจไปทีหลัง) ใครบางคนสามารถชี้ให้ฉันไปในทิศทางที่ถูกต้องเพื่อให้ฉันสามารถทำซ้ำคุณสมบัติที่คล้ายกันได้หรือไม่? มันจะดีถ้าฉันสามารถขยาย / ยุบเส้นรอบส่วนต่างได้

6
ฉันจะทำให้ Vim ทำแท็บชื่อไฟล์ให้เหมือนปกติได้อย่างไร
เมื่อฉันเปิดไฟล์ใหม่ใน Vim และฉันใช้การเติมเต็มของแท็บมันจะทำให้ชื่อไฟล์ทั้งหมดเสร็จสมบูรณ์แทนที่จะทำการจับคู่บางส่วนอย่าง Bash มีตัวเลือกให้แท็บชื่อไฟล์นี้เสร็จสมบูรณ์เช่น Bash หรือไม่
289 vim 

5
ฉันจะแสดงรายการปลั๊กอินที่โหลดใน Vim ได้อย่างไร
ไม่มีใครรู้วิธีการรายการ "ปลั๊กอินที่โหลด" ในกลุ่ม ? ฉันรู้ว่าฉันควรจะติดตามสิ่งเหล่านี้ด้วยตัวเอง แต่มันจะดีเสมอที่ได้ตรวจสอบสถานะปัจจุบัน
279 vim  plugins 


6
ฉันจะออกจากหน้าต่างข้อความใน Git ได้อย่างไร
ฉันกำลังใช้ Windows และก่อนที่จะยอมรับ Git ต้องการให้ฉันป้อนข้อความและหน้าต่างข้อความใหม่จะปรากฏขึ้น ฉันจะออกจากสิ่งนี้ได้อย่างไร ฉันพยายามเรียนรู้ Git ดังนั้นความช่วยเหลือเล็กน้อยจะได้รับการชื่นชมอย่างมาก
275 git  vim 

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