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

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

2
ฉันจะทำเฉพาะ dp หรือทำแค่บรรทัดเท่านั้นไม่ใช่บล็อกทั้งหมดใน Vim diff?
ขณะนี้ฉันใช้ตัวเลือกเมนู MacVim (Snapshot 64) "แยกความแตกต่างด้วย ... " ไฟล์นี้เป็นของ Django settings.pyจากรุ่น 1.3.1 ไปเป็นไฟล์ใหม่จากรุ่น 1.4 ฉันรู้สองคำสั่งพื้นฐาน do เพื่อ "ขอรับ" (และแทนที่) บล็อกจากอีกด้านหนึ่ง dp เพื่อ "วาง" (และแทนที่) บล็อกไปอีกด้านหนึ่ง แต่ทั้งสองคำสั่งเขียนบล็อกทั้งหมดซึ่งใน MacVim คือไฮไลท์สีม่วง ถ้าคุณดูที่บล็อกที่ 2 คุณจะเห็นว่าจากบรรทัดที่ 2 และ 3 มีเพียง 2 คำที่มีความแตกต่างกันและmysite hobbes3ฉันต้องการแทนที่ต่อบรรทัดไม่ใช่บล็อกทั้งหมด ดังนั้นสิ่งที่มีคำสั่งให้แทนที่ทำdoและdpต่อบรรทัดตรงข้ามกับบล็อกทั้งหมดหรือฉันต้องพิมพ์ด้วยตนเอง? คำถามโบนัส : ฉันสังเกตเห็นว่าเมื่อฉันแก้ไขบล็อกด้วยตนเองฉันสูญเสียการเน้นสีม่วง ฉันจะ "รีเฟรช" ส่วนต่างอีกครั้งเพื่อรวมไฮไลต์โดยไม่ต้องเปิดไฟล์อีกครั้งได้อย่างไร โปรดลองรักษาคำตอบ Vim-General ตรงข้ามกับ MacVim-specific
28 vim  macvim  vimdiff 

1
วิธีการรีเฟรชเป็นกลุ่มเป็นกลุ่มเมื่อแยก
หลังจากตั้งค่า splits / vsplits และปรับขนาด gvim หรือคอนโซลที่ใช้ vim แล้วตำแหน่งตัวแยกสัญญาณจะไม่ได้รับการอัพเดต มีวิธีบังคับให้อัปเดตตำแหน่งตัวแยก (โดยการคงตำแหน่งเหล่านั้นไว้ในตำแหน่งสัมพัทธ์เดียวกันหรือไม่พูดแยกที่ 50% ของมุมมองปัจจุบัน)
28 vim  layout 

4
ไม่สามารถคัดลอกไปยังคลิปบอร์ดจาก Vim
คำถามนี้ถูกโยกย้ายจากข้อบกพร่องของเซิร์ฟเวอร์เพราะสามารถตอบได้ใน Super User อพยพ 7 ปีที่ผ่านมา ฉันใช้ Vim 7.3 ภายใต้ Linux Mint 13 (โดยใช้ MATE) และฉันไม่สามารถบันทึกข้อความไปยังคลิปบอร์ดของระบบได้ CTRLINSERTผมทำงานเป็นกลุ่มในขั้วและคัดลอกข้อความจากขั้วกับ เมื่อฉันเลือกข้อความในเสียงเรียกเข้า (ไม่ว่าจะด้วยเมาส์หรือในโหมดภาพ) CTRLINSERTอย่าคัดลอกข้อความใด ๆ นอกจากนี้เมื่อฉันคลิกขวาการคัดลอกจะเป็นสีเทา นอกจากนี้ฉันไม่สามารถเขียนลงในบัฟเฟอร์ของระบบได้โดยการส่งไปยังการลงทะเบียนที่เกี่ยวข้องโดยใช้คำสั่ง vim อย่างไรก็ตามฉันสามารถวางในขณะที่อยู่ในโหมดแทรก (โดยใช้SHIFTINSERTหรือวางคลิกขวา) ฉันสามารถคัดลอกข้อความจากเทอร์มินัลโดยตรงด้วยเทคนิคเดียวกันไม่ใช่แค่ข้อความจาก Vim นี่คือของฉันปัจจุบัน ~ set clipboard=autoselect,unnamed,exclude:cons\|linuxส่วนที่เกี่ยวข้องเป็นไปได้มากที่สุด ถ้าฉันใส่finishส่วนบนสุดของ ~ / .vimrc ฉันมีปัญหาเดียวกันดังนั้นฉันคิดว่าบรรทัดนั้นผิด แต่ฉันพยายามset clipboard=unnamedแล้วและมีพฤติกรรมแบบเดียวกัน อาจมีไฟล์ปรับแต่งอื่นที่มีผลต่อพฤติกรรมของ Vim หรือไม่ ฉันจะเปลี่ยน ~ / .vimrc เป็นอนุญาตให้ฉันคัดลอกข้อความจาก Vim ได้อย่างไร
28 debian  vim  vimrc  linux-mint 

3
เปิดใช้งานหมายเลขล่างขวาใน VIM
ฉันสังเกตเห็น VIM บน Mac ของฉันไม่มีหมายเลขบรรทัด / คอลัมน์ที่มุมล่างขวาของหน้าต่างในขณะที่ VIM บน Ubuntu ทำ มีการตั้งค่าโปรไฟล์ที่ฉันสามารถใช้เพื่อให้ Mac ของฉันแสดงตัวเลขเหล่านี้หรือไม่
27 macos  vim 

5
วิธีการเข้าร่วมทุกบรรทัดที่สองในกลุ่ม?
ฉันต้องการที่จะเข้าร่วมจำนวนมาก (~ 1,000) บรรทัด แต่ทุกคี่กับหน้าถัดไป ด้วยมือฉันสามารถทำ Jj 500 เท่าและทำเสร็จแล้ว อย่างไรก็ตามฉันจะรันคำสั่งทั้งสองนี้ได้ 500 ครั้งในคำสั่งเดียวได้อย่างไร การพิมพ์ 500Jj จะเข้าร่วม 500 บรรทัดถัดไปจากนั้นเลื่อนลงหนึ่งบรรทัด ตัวอย่าง: ฉันมี: a b c d e f g h ฉันต้องการ: a b c d e f g h แก้ไข:ฉันพยายามทำแผนที่: :map X Jj 500X แต่เห็นได้ชัดว่าฉันควรอ่านเอกสารการทำแผนที่อีกครั้ง ใช้งานไม่ได้
27 vim  normal-mode 

10
การเคลื่อนย้าย (อย่างมีประสิทธิภาพ) ในแนวตั้งเป็นกลุ่ม
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Super User อพยพ 9 ปีที่ผ่านมา เมื่อฉันต้องการเข้าถึงบางส่วนของคำใน Vim (แนวนอน) ฉันเพียงกด w, b, f หรือ t (บางอย่าง) มีวิธีที่ดีในการทำสิ่งนี้ในแนวตั้งหรือไม่? ตัวอย่างเช่นฉันต้องการได้คำหรือตัวอักษรของบรรทัดที่ต่ำกว่าหรือสูงกว่าบรรทัดที่ฉันอยู่ PS: โดยไม่ใช้: (หมายเลขบรรทัด)

5
ฉันสามารถใช้นิพจน์ปกติของ Perl ในบรรทัดคำสั่ง vim ได้หรือไม่
ฉันต้องการใช้การแสดงออกปกติ Perl บนบรรทัดคำสั่ง vim ตัวอย่างเช่นหากต้องการใช้ประโยชน์จากคำในบรรทัดปัจจุบันคุณสามารถพิมพ์: :s/(\w+)/\u$1/g
27 vim  regex  perl 

2
วิธีเปิดไวยากรณ์ git ที่เน้นเป็นกลุ่มบน Mac
ฉันเพิ่งเปลี่ยนมาใช้ Mac บน windows ฉันใช้ git ผ่านโครงการ msysgit เมื่อทำฉันใช้จะได้รับความสุขไวยากรณ์เน้นในgit rebase -i vimตอนนี้ฉันกำลังคิดถึง Mac อยู่ ฉันจะรับมันคืนได้อย่างไร
26 macos  git  vim 

4
Vim แสดงอักขระแปลก ๆ <91>, <92>
ในขณะที่ใช้ Vim บน SSH ฉันคัดลอกเนื้อหาบางส่วนจากหน้าเว็บไปยังเซสชัน SSH / Vim ของฉันและได้ผลลัพธ์ดังนี้: SIZE=`df -h|grep $DISC|awk &lt;91&gt;{print $2}&lt;92&gt;` เห็นได้ชัด&lt;91&gt;และ&lt;92&gt;ยืนหยัดอยู่ได้'แต่ฉันจะค้นหาและแทนที่สิ่งนี้ได้อย่างไร และสิ่งที่ไม่ว่า91/ 92หมายความว่าอย่างไร สิ่งนี้ถูกเข้ารหัสเพราะ91/ 92ใน ASCII หมายถึง\และ[อย่างไร
26 ssh  vim 

5
ทำให้ Vim แสดงบรรทัดที่ขอบของชุดความกว้างของข้อความ
โปรแกรมแก้ไขข้อความและ IDE ส่วนใหญ่ที่ฉันใช้ในปัจจุบันมีคุณสมบัติที่สามารถแสดงบรรทัดที่ความยาวอักขระที่แน่นอนในบัฟเฟอร์ข้อความ มันมีประโยชน์เมื่อคุณต้องการเก็บบรรทัดในไฟล์ให้มีความยาวที่แน่นอน มีวิธีใดที่จะให้ Vim ทำเช่นนี้ควรใช้textwidthค่าที่กำหนดไว้แล้ว เส้นจะพันกันโดยอัตโนมัติในจุดนั้น แต่ฉันอยากเห็นว่ามันอยู่ตรงไหน ในกรณีที่เป็นเรื่องสำคัญฉันใช้ gVim บน Windows เป็นหลัก แต่ฉันชอบถ้าโซลูชันใช้งานได้ในเวอร์ชัน Vim
26 vim 

1
ทำไมเสียงเรียกเข้าล่าช้าเป็นวินาทีเมื่อใดก็ตามที่ฉันใช้คำสั่ง 'O' (เปิดบรรทัดใหม่ด้านบนและแทรก)
เมื่อฉันใช้คำสั่งส่วนใหญ่พวกเขาจะมีผลทันที เมื่อฉันใช้Oคำสั่งอย่างไรก็ตามฉันเห็น "O" แทนที่อักขระปัจจุบันประมาณหนึ่งวินาทีจากนั้นอักขระปัจจุบันจะส่งกลับและบรรทัดใหม่จะถูกแทรกและเปิด ฉันไม่มีปัญหาดังกล่าวกับoคำสั่ง (เปิดบรรทัดใหม่ด้านล่างและแทรก) ถ้ามันสร้างความแตกต่างฉันใช้vimจากbashใน Gnome Terminal บน Ubuntu 10.04

2
ในกลุ่มการตั้งค่า / คำสั่งที่ขึ้นต้นด้วยคำนำหน้า (b :, g :) คืออะไร
ฉันติดตั้งปลั๊กอินนี้ด้วย Vundle และสังเกตเห็นว่ามันมีการตั้งค่าบางอย่าง (README เรียกพวกเขาว่าตัวแปร) เช่น: b:javascript_fold และ g:javascript_conceal README บอกว่าฉัน "สามารถเพิ่มพวกเขาในของคุณ.vimrcเพื่อเปิด / ปิดการใช้งานคุณสมบัติของพวกเขา" แต่ฉันไม่แน่ใจว่าจะตั้งค่าพวกเขา:อย่างไร ตัวแปรเหล่านี้ไม่สามารถใช้ได้ผ่านsetหรือหรือechoไม่มีคำสั่งหรือฟังก์ชั่น ฉันจะตั้งค่า / ตรวจสอบสิ่งเหล่านี้ได้อย่างไร
26 vim 

4
ใช้ Vim / Gvim กับหน้าต่าง GUI หลายหน้าต่าง
เป็นไปได้หรือไม่ที่จะมีหน้าต่าง vim 2 บานขึ้นไป (G) สำหรับเซสชันเดียวกันหรืออย่างน้อยก็แบ่งปันบัฟเฟอร์บางอย่าง ที่นี่ "หน้าต่าง" หมายถึงหน้าต่าง Gnome (หรือ KDE หรือ Windows เป็นต้น) ไม่ใช่หน้าต่าง VIM ฉันใช้สองหน้าจอกับ xinerama และต้องการเปิดหน้าต่าง GUI แยกกันสองจอแทนที่จะเป็นแบบเดี่ยวขนาดใหญ่ที่ครอบคลุมหลายหน้าจอ

5
ทำซ้ำคำสั่งโหมดปกติล่าสุดรวมถึงการเคลื่อนไหวใน Vim
ในกลุ่มด้วย.ฉันสามารถทำซ้ำคำสั่งโหมดปกติล่าสุดได้ ตัวอย่างเช่น: dd. ลบบรรทัดสองครั้ง แต่ถ้าฉันพิมพ์ 5j. เคอร์เซอร์ไม่เลื่อนลง 10 บรรทัด ฉันจะทำซ้ำคำสั่งโหมดปกติล่าสุดโดยเฉพาะการย้ายได้อย่างไร
25 vim  normal-mode 

2
การสร้างไวยากรณ์เน้นเป็นกลุ่มแบบง่าย
ฉันมีการจัดเรียงที่เรียบง่ายของแฟ้มฐานข้อมูลซึ่งประกอบด้วยเฉพาะของรายการในรูปแบบดังต่อไปนี้ ตัวแปร = ค่า ฉันต้องการสร้างไวยากรณ์เสียงเรียกเข้าแบบง่าย ๆ ที่เน้นมันและตั้งเป็นนามสกุลไฟล์เฉพาะ ตัวอย่างเช่นส่วนตัวแปรอาจเป็นสีฟ้าอ่อนและค่าส่วนแสงสีแดง ฉัน googled มันและมาข้ามสิ่งต่างๆเช่น$vimruntime\syntax\, syntax set=, syntax matchและhiคำหลัก แต่ไม่สามารถตั้งค่าตัวเองในที่สุด ดังนั้นฉันต้องการตัวอย่างโค้ดเสียงเรียกเข้าที่ง่ายมากที่จะรับรู้ได้โดยจับคู่ด้านซ้ายและด้านขวาแล้ววาดแยกต่างหาก

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