เหตุใดจึงเป็นกลุ่มการสร้างไฟล์ด้วยปลายสาย DOS?


15

ฉันมี

set fileformat=unix

ในของฉัน.vimrcและยังถ้าฉันสร้างไฟล์ในvim(ทำงานใน Cygwin) มันยังคงอยู่ในการสร้างไฟล์รูปแบบ DOS และฉันต้องเรียกใช้พวกเขาผ่านdos2unixการล้างพวกเขา (ฉันเดาว่าฉันไม่จำเป็นต้องทำเพราะ Git ทำความสะอาดพวกเขาให้ฉัน แต่มันก็ทำให้ฉันตายด้วยตัวแก้ไขข้อความ Unix ซึ่งฉันได้รับคำสั่งให้ใช้ปลายสาย Unix โดยเฉพาะคือทำให้พวกมันสกปรกด้วยขยะเพิ่มเติม .)

ทำไมสิ่งนี้จะเกิดขึ้น ฉันจะแก้ไขได้อย่างไร (และโดย "แก้ไข" ฉันไม่ได้หมายถึงสิ่งที่ต้องให้ฉันแปลงไฟล์แต่ละรายการนั่นไม่ใช่การแก้ไขนั่นคือสิ่งที่แตกสลายโดยสิ้นเชิง)


ฉันจะเดิมพันนี้เป็นปัญหาที่ cygwin มีตัวเลือกใน cygwin เพื่อเลือกรูปแบบการสิ้นสุดบรรทัด แต่ฉันไม่เห็นหลักฐานใด ๆ ที่ใช้งานได้จริง มหาวิทยาลัยของฉันใช้ Eclipse กับ cygwin สำหรับการรวบรวมคอมไพเลอร์ GNU และฉันพบพฤติกรรมแปลก ๆgetlineซึ่งกลายเป็น Cygwin ที่ทำสิ่งแปลก ๆ ส่งผลให้CR+LFแทน Unix หรือแม้กระทั่งสไตล์ดอสLF LF+CRคุณควรตรวจสอบและดูว่าสไตล์การสิ้นสุดบรรทัดที่คุณกำหนดค่าไว้ใน cygwin เป็นอย่างไร YMMV ดูcygwin.com/faq/faq-nochunks.html#faq.api.cr-lf ด้วย
แมตต์

@ Matt: DOS / Windows จะใช้ไม่ได้CR+LF LF+CR
echristopherson

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

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

@ MichaelKjörling: ใช่ฉันทดสอบแล้วและกำลังอ่านอยู่ ฉันแสดงความคิดเห็นในset numberบรรทัดของฉันและมันมีผลและยกเลิกการแสดงความคิดเห็นออกและมีผล ฉันยังเพิ่ม "blah blah blah" ที่ด้านล่างและได้รับ "กด ENTER หรือพิมพ์คำสั่งเพื่อดำเนินการต่อ" เมื่อฉันเปิดอะไร แต่แปลกที่ไม่มีข้อผิดพลาดก่อนหน้านั้น (เว้นแต่จะเป็นตัวอักษรสีดำบนพื้นหลังสีดำ)
iconoclast

คำตอบ:


21

การตั้งค่าfileformatอาจไม่เพียงพอขึ้นอยู่กับปัจจัยบางประการ ลองสิ่งนี้:

set fileformat=unix
set fileformats=unix,dos
"set nobinary

หากต้องการทำความเข้าใจกับสิ่งเหล่านี้ให้ดูที่:help fileformatsอื่น ๆ

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

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