ฉันจะแทนที่ข้อความ“ 2 ไฟล์ที่จะแก้ไข” ใน vimdiff ได้อย่างไร?


11

'vimdiff ab' จะพิมพ์ "2 ไฟล์เพื่อแก้ไข" เสมอ ฉันไม่ต้องการที่จะเห็นว่า ฉันจะหลีกเลี่ยงได้อย่างไร

นี่คือตัวอย่าง:

⚡ vimdiff  a b                                                                                                                               
2 files to edit

ฉันต้องการใช้ vimdiff จากสคริปต์ทุบตีและไม่ต้องการเห็นผลลัพธ์นี้


1
2>/dev/nullแน่นอนคุณสามารถเพียงแค่เปิดมันด้วย คุณต้องการสิ่งนี้ทำไมดูเหมือนเป็นเรื่องน่ารำคาญเล็กน้อย โอ้ในบันทึกที่ไม่เกี่ยวข้องทั้งหมดคุณสามารถแบ่งปัน $ PS1 ของคุณได้หรือไม่? อักขระที่คุณใช้เป็นพรอมต์คืออะไร
terdon

1
vimdiff ab 2> / dev / null ใช้ไม่ได้สำหรับฉัน
Eric Johnson เมื่อ

ฉันแค่ติดอักขระ Unicode ในนั้น $ PS1 ของฉันถูกกำหนดไว้ที่นี่: github.com/kablamo/dotfiles/blob/master/links/.bash/prompt.sh
Eric Johnson

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

คำตอบน่าจะเป็นที่นี่ ให้แน่ใจว่าได้อ่านความคิดเห็น
terdon

คำตอบ:


3

เมื่อมองถึงแหล่งที่เป็นกลุ่มดูเหมือนว่าข้อความนั้นสามารถถูกระงับได้เมื่อเรียกใช้งานปฏิบัติการเป็นexและใช้-sตัวเลือกหรือโดยไม่มีคอนโซล

วิธีการทั้งสองจะไม่ทำงานสำหรับ diffing

อย่างไรก็ตามข้อความจะถูกส่งออกเฉพาะในกรณีที่มีมากกว่าหนึ่งไฟล์ที่ระบุไว้ในบรรทัดคำสั่ง

ดังนั้นมาหลอกกัน

vim a -c "vert diffsplit b"

ซึ่งโดยทั่วไปว่า "แก้ไขไฟล์กับกลุ่มและเมื่อโหลดเปิดแยกในแนวตั้งกับแฟ้มและ diff พวกเขา"


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

หากไฟล์ที่สองของคุณมีช่องว่างในพา ธ หรือชื่อไฟล์โซลูชันนี้จะไม่ทำงาน ฉันทำงานรอบ ๆ โดยเรียก vim ด้วยแฟล็ก -d และส่งเอาต์พุตไปยัง / dev / null เช่นนี้ (เครื่องหมายคำพูดจะส่งอาร์กิวเมนต์ที่มีช่องว่างอย่างถูกต้อง): vim -d "$ a" "$ b"> / dev / null
DevDaddyNick

@DevDaddyNick นั่นไม่ได้ซ่อนเสียงเรียกเข้าทั้งหมดสำหรับคุณหรือไม่? มันทำเพื่อฉันใช้zshเป็นเปลือกของฉันกับoh-my-zshการกำหนดค่าตาม
codelahoma

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

สำหรับคนอื่น ๆ ที่ต้องการขุดในรหัสบรรทัดที่เกี่ยวข้องในรหัส ณ วันที่วันนี้อยู่ที่นี่ใน main.c
xdhmoore


-1

ตามโพสต์นี้บน SO การตั้งค่านี้ใน vimrc ของคุณควรทำตามขั้นตอน:

set shortmess=filnxtToO

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