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

vim (Vi IMproved) เป็นโปรแกรมแก้ไขข้อความที่รองรับโหมดการแก้ไขที่แตกต่างกัน

2
ฉันจะแก้ไขคำสั่ง ci ในกลุ่มได้อย่างไร
เช่นเดียวกับ "ci (" เปลี่ยนทุกอย่างระหว่างวงเล็บฉันต้องการ "ci $" เพื่อเปลี่ยนทุกอย่างระหว่างเครื่องหมายดอลลาร์ (สำหรับการแก้ไข LaTeX) เป็นไปได้ไหม
10 vim  vi 

4
จะแยกและแก้ไขโปรแกรมแก้ไขได้อย่างไร?
บางครั้งฉันต้องแบ่งแพทช์ใหญ่เป็นอันเล็ก ๆ (ไม่รวม) เช่นสำหรับทุกคุณสมบัติที่รวมอยู่ ฉันมักจะทำมันผ่านคำสั่ง vim yank / dd และการสลับหน้าต่างแบบแยก แต่มีเครื่องมือ / vim-tricks ที่ช่วยแก้ไขเช่นนี้หรือไม่? ตัวอย่างเช่นการสนับสนุนคำสั่งเช่น: ย้าย hunks ที่สมบูรณ์ 3 รายการถัดไปไปยังไฟล์ patch ที่เปิดทางด้านขวา
10 vim  patch 

1
หยุดการเลือกเป็นกลุ่มให้เป็นข้อความ!
ฉันใช้ VI และ VIM เป็นเวลาหลายปี (30 หรือมากกว่า) (ใน xterms ไม่ใช่หน้าต่างของตัวเอง gvim) และฉันมีคลังคำสั่ง vim ขนาดใหญ่ที่ฉันให้ vim โดยใช้ปุ่มกลางของเมาส์เป็นตัวเลือก ตัวอย่างเช่นฉันมักจะทำสิ่งต่าง ๆ เช่น ... vi {many_hundreds_of_files} paste vim commands using mouse - one paste per file. การเลือกจะรวมคำสั่ง VIM จำนวนมากเพื่อทำสิ่งต่าง ๆ เช่นการแทนที่การทดสอบการจัดรูปแบบการย้ายเส้นรอบ ๆ ฯลฯ ฯลฯ และโดยทั่วไปแล้วลงท้ายด้วย: w และ: คำสั่ง VIM ถัดไปในตอนท้ายของการเลือก ดังนั้นเสียงเรียกเข้าก็พร้อมให้ฉันวางอีกครั้งในไฟล์ถัดไป สิ่งนี้ช่วยให้ฉันอัปเดตไฟล์จำนวนมากในรูปแบบที่ซับซ้อนมากโดยไม่จำเป็นต้องใช้สคริปต์พิเศษ (เช่นการแก้ไขในสถานที่ perl) …
10 vim  mouse  vimrc 

1
ดำเนินการคำสั่งในโหมด zsh vim
ในzshในvim modeผมเขียนบางสิ่งบางอย่าง foo foo bar bar จากนั้นฉันก็กดEscเพื่อไปในโหมดปกติและพิมพ์ : foo foo bar bar execute: _ จากนั้นฉันคิดว่าฉันสามารถทำได้ฉันต้องการค้นหาและแทนที่barด้วยbaz foo foo bar bar execute: s/bar/baz/g_ จากนั้นฉันพยายามกด Enter แต่ก็ไม่ได้ผล ฉันสามารถย้อนกลับจากการexecuteใช้Ctrl+ cเท่านั้น ฉันจะรันคำสั่งได้อย่างไร ฉันลองสิ่งนี้ด้วยวิธีปกติ.zshrcและไม่ทำอะไร.zshrcเลย
10 vim  zsh 


3
ฉันจะยกเลิกการวางข้อความเป็นกลุ่มได้อย่างไร
TL; DR; เวอร์ชั่น - ฉันจะยกเลิกข้อความที่วางจากบัฟเฟอร์การคัดลอกระบบปฏิบัติการของฉันได้อย่างไรโดยไม่ต้องยกเลิกข้อความอื่น ๆ ที่พิมพ์ลงไปตั้งแต่ฉันเข้าสู่โหมดแทรก? คำอธิบายอีกต่อไป: ใส่บางอย่างในบัฟเฟอร์การคัดลอก OS ของคุณ (เช่นเน้นข้อความและทำCommand-cบน Mac) เข้าสู่โหมดแทรกในกลุ่ม ( i) พิมพ์บางสิ่ง (เช่นasdf) โดยไม่ต้องออกจากโหมดแทรกให้วางจากบัฟเฟอร์การคัดลอกของคุณลงในกลุ่ม ( Command-vบน Mac) ตี escape พยายามเลิกทำการแปะ ( u) มันเลิกทำทุกอย่างตั้งแต่ครั้งสุดท้ายที่คุณเข้าสู่โหมดแทรก ในคำอื่น ๆ มันจะลบออกasdfรวมทั้งข้อความทั้งหมดที่ฉันวาง ฉันจะเป็นเพียงแค่ยกเลิกข้อความที่วางมีอะไรบ้าง? ฉันต้องออกจากโหมดแทรกเสมอและกลับเข้ามาก่อนที่ฉันจะวางข้อความเพื่อให้มีตัวเลือกในการเลิกทำการวางข้อความหรือไม่?
10 vim  osx 

3
ในกลุ่มให้ค้นหาย้อนกลับสำหรับวงเล็บปีกกา / parens ที่ตรงกัน
อย่างที่คุณรู้ส่วนใหญ่คุณสามารถใช้%เพื่อค้นหาส่งต่อในบรรทัดเพื่อค้นหาวงเล็บปีกกา / วงเล็บ / paren คู่ต่อไปและย้ายไปยังคู่ที่ตรงกัน: |a|rray[index] = value; " |e| is the cursor; hit %: array[index|]| = value; ฉันหวังว่าจะมีคีย์ที่คล้ายกันซึ่งค้นหาย้อนหลังในบรรทัดเช่น: array[index] = value|;| " |;| is the cursor again, hit the key I'm looking for: array|[|index] = value; คำสั่ง vim ส่วนใหญ่มีทั้งไปข้างหน้าและข้างหลังดังนั้นจึงควรทำเช่นนี้ มันไม่ได้มีพันธมิตรหรือไม่? ถ้าเป็นเช่นนั้นก็คือว่าเพราะเมื่อมันเกี่ยวกับตัวละครที่จับคู่พวกเขาจะทำหน้าที่เดียวกันได้หรือไม่

3
เป็นกลุ่มที่ไม่มีชื่อ register + หรือ *
ฉันใช้ Vim 7.3 ใน Ubuntu และฉันมีปัญหาเล็กน้อยในการคัดลอกไปยังคลิปบอร์ดของระบบด้วยคำสั่งต่อไปนี้"+yแต่ฉันได้รับข้อผิดพลาดต่อไปนี้:E354: Invalid register name: '+' ในของฉันฉันเห็นvim --version -xterm_clipboardตัวเลือกในการคัดลอกมาจากการคลิกเมาส์ขวาจะเป็นสีเทาเช่นกัน ฉันต้องใช้ขั้นตอนใดบ้างเพื่อเปิดใช้งานการคัดลอกข้อความจากเสียงเรียกเข้าไปยังคลิปบอร์ดของระบบ
10 vim 

2
เสียงเรียกเข้า: ย้อนกลับขวาไปซ้าย
ฉัน:set rlคิดว่ามันเป็นเรื่องของเส้นญาติ ผมได้เปิดใช้งานที่ถูกต้องไปยังโหมดซ้าย docสำหรับrightleftไม่ได้บอกวิธีการกลับrl modeโดยไม่ต้องออกเป็นกลุ่ม หนึ่งไปซ้ายไปขวาเป็นกลุ่มได้อย่างไร
9 vim 

1
Powerline ในการตั้งค่าข้อผิดพลาดเป็นกลุ่ม
ฉันติดตั้ง powerline โดยใช้ pip install ตามคำแนะนำในการติดตั้ง ฉันได้มันทำงานได้ดีทั้งใน zsh เป็นพรอมต์และ tmux เป็น statusline แต่ฉันไม่สามารถทำงานเป็นกลุ่มได้ เมื่อฉันเพิ่มต่อไปนี้ใน vimrc ของฉัน: python from powerline.vim import setup as powerline_setup python powerline_setup() python del powerline_setup ฉันได้รับข้อผิดพลาดดังต่อไปนี้ Error detected while processing /home/jordan/.vimrc: line 1: E319: Sorry, the command is not available in this version: python from powerline.vim import …
9 vim  vimrc 

1
จุดเปลี่ยนโหมด Virtual ใน Vim คืออะไร?
ความช่วยเหลือบอกว่าคำสั่งโหมดแทนที่เสมือนใน Vim gr& GRแทนที่ตัวอักษรในหน้าจอทรัพย์และไม่อยู่ในไฟล์ :help Virtual-Replace-mode ฉันเข้าใจสิ่งนี้เหมือนกับการเปลี่ยนอักขระบนจอแสดงผล แต่ไม่ได้อยู่ในบัฟเฟอร์ นั่นถูกต้องใช่ไหม? ดูเหมือนว่าไม่ถูกต้อง ฉันสามารถใช้คำอธิบายและอาจเป็นสถานการณ์จำลองหรือตัวอย่างที่เกี่ยวข้องกับคุณลักษณะนี้
9 vim  vi 

1
vi [m] อ่านช่วงของบรรทัดจากไฟล์อื่น
บน Linux แก้ไขfile_Bในกลุ่มผมต้องการที่จะเพิ่มบรรทัด 10-25 file_Aจาก ตัวอย่าง: หนึ่งชุดมีทั้งเอกสาร HTML ที่มีส่วนหัวค่อนข้างเหมือนกันและใช่หนึ่งสามารถสร้างแม่แบบและเริ่มจากที่นั่น แต่ก็ยัง: ฉันกำลังมองหาวิธีที่เรียบง่าย [และสง่างาม] ในการแทรกช่วงของบรรทัดจากไฟล์หนึ่งไฟล์และเพิ่มลงในไฟล์ที่ฉันกำลังแก้ไขอยู่ ในกลุ่ม วิธีแก้ปัญหาที่ฉันพบจนถึงตอนนี้ แต่ไม่ตรงกับที่ฉันกำลังมองหา ภายใน file_Bคำสั่ง:read file_Aจะเพิ่ม * ทั้ง file_A * ลงใน file_B มากเกินไป มีการคัดลอกและวางภายในเป็นกลุ่ม - แต่สำหรับอันนี้ต้องเปิด file_A ภายใน file_A :10,25w! file_Bจะ 'ส่ง' ช่วงของบรรทัดที่file_Bระบุ ดูเหมือนว่าจะใกล้เคียงกับการคัดลอกและวาง หนึ่งสามารถเปิดหลาย windows ในกลุ่มแต่ในขณะที่ฉันทำงานบนหน้าจอ 8 นิ้วหน้าต่างหลายบานทำให้การวางแนวยาก เนื่องจากฉันไม่สามารถหาวิธีแก้ปัญหาที่สะดวกสบายได้ฉันสงสัยว่าฉันเพิ่งเข้าใจผิดบางอย่างหรือวิธีการที่ฉันพบว่ามีการใช้กันทั่วไปและถือเป็นวิธีมาตรฐาน
9 linux  vim  copy-paste 

2
จะมี tail -f แสดงเอาต์พุตสีด้วย vim ได้อย่างไร?
ในคำถามนี้Gilles ตอบ แต่ความเป็นไปได้อีกคือการทำงานtail -fในEmacsเปลือกกันชนและใช้ความสามารถของไวยากรณ์ Emacs ระบายสี เพราะฉันใช้เสียงเรียกผมต้องการที่จะทำเช่นนี้กับกลุ่มไม่emacs ไม่เป็นกลุ่มที่มีคุณลักษณะนี้?

4
บล็อกการแก้ไข * สด * ใน Emacs หรือ Vim
jEdit รองรับการแก้ไขบล็อค แต่ Emacs และ Vim ดูเหมือนจะมีปัญหาการใช้งานที่ร้ายแรงในเรื่องเดียวกัน หากใครบางคนสามารถกรอกสิ่งที่ไม่รู้จักที่นี่ก็จะเป็นประโยชน์มากกว่าที่จะใช้โปรแกรมแก้ไขทั้งสอง การเลือกสี่เหลี่ยมจริง : ในกรณีที่การเลือกบนหน้าจอเป็นสี่เหลี่ยมผืนผ้าไม่ใช่การเลือกเชิงเส้นซึ่งจะใช้ในการคำนวณภูมิภาคเนื่องจาก Emacs ดูเหมือนจะถูก จำกัด jEdit: กดค้างไว้Ctrlและเลือก เป็นกลุ่ม: คลิกCtrl-vและเลือก Emacs: ไม่ทราบ ; ดูเหมือนว่าจำเป็นต้องมีปลั๊กอิน 400+ บรรทัด การแก้ไขรูปสี่เหลี่ยมผืนผ้าแบบสด : ดูว่าผลลัพธ์จะเป็นอย่างไรในทุกบรรทัดขณะที่คุณแก้ไขหลังจากการเลือกบล็อก jEdit: เพียงแค่เริ่มพิมพ์และคุณจะเห็นผลลัพธ์สุดท้ายตามที่คุณไป เป็นกลุ่ม: คลิกShift-iและพิมพ์ จะแสดงผลลัพธ์สุดท้ายในบรรทัดแรกเท่านั้นจนกว่าคุณEscจะกดเพื่อออกจากโหมดแทรก ไม่ทราบว่ามีวิธีการดูผลลัพธ์ในทุกบรรทัดทันทีหรือไม่ Emacs: ไม่ทราบ ; ดูเหมือนว่าวิธีเดียวที่จะและการตั้งค่าข้อความที่จะเติมในหลังจากที่กดC-x r tRet การเลือกเริ่มต้นและสิ้นสุดในตำแหน่งที่อยู่ด้านนอกข้อความ : ตัวอย่างเช่นฉันต้องการลบอักขระตัวแรกของ N แต่ละบรรทัด แต่บรรทัดแรกและบรรทัดสุดท้ายมีอักขระน้อยกว่า N ตัว jEdit: ไม่มีปัญหาการเลือกบล็อคสามารถเริ่มต้นนอกข้อความได้ เป็นกลุ่ม: …
9 vim  emacs  editors 

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

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