ตัวบ่งชี้ noeol ที่ด้านล่างของเซสชันการแก้ไขเป็นกลุ่มหมายถึงอะไร


คำตอบ:


35

บรรณาธิการของ Unix จะชอบviและvimจะใส่บรรทัดใหม่ ( \n) ที่ท้ายบรรทัดทุกบรรทัดโดยเฉพาะรวมถึงบรรทัดสุดท้าย หากไม่มีจุดสิ้นสุดของบรรทัด ( eol) ในบรรทัดสุดท้ายแสดงว่าเป็นสถานการณ์ที่ผิดปกติและไฟล์ส่วนใหญ่ไม่ได้ถูกสร้างขึ้นโดยตัวแก้ไข UNIX มาตรฐาน

สถานการณ์ที่ผิดปกตินี้เกิดขึ้นกับการแจ้งเตือนของคุณโดย[noeol]ธงในvimเครื่องมือแก้ไข บรรณาธิการอื่น ๆ อาจมีธงและการแจ้งเตือนที่คล้ายกัน


ในemacsการเคลื่อนย้ายเคอร์เซอร์ไปยังจุดสิ้นสุดของแฟ้ม (บรรทัดสุดท้ายหลังจากที่ตัวอักษรตัวสุดท้าย) และดำเนินการคุณจริงจบลงลบkill-line eol
Yeow_Meng

1
และบริการบางอย่างบ่นและบ่นและจะไม่เริ่มต้นเนื่องจากข้อผิดพลาดเนื่องจากไม่มี EOL ที่ EOF
ivanivan

20

บรรทัดสุดท้ายในไฟล์ไม่มีการขึ้นบรรทัดใหม่ (\ n)


2
@Bon Ami:บางโปรแกรมเมื่ออ่านไฟล์ข้อความของคุณต้องใช้\nที่ท้ายบรรทัดเพื่อพิจารณาว่าเป็นบรรทัดที่สมบูรณ์ (พร้อมอักขระบรรทัดขึ้นบรรทัดใหม่) ต่อไปนี้เป็นตัวอย่างที่แสดงให้เห็นไฟล์ซึ่งอาจมีลักษณะเช่นที่สมบูรณ์สายได้อย่างรวดเร็วสบาย ๆ ในโปรแกรมแก้ไขข้อความ แต่wcไม่ได้ condider เป็นบรรทัด: printf "x">"file-no-newline"; wc -l <"file-no-newline"- Outpute คือ 0 .. noeolเป็นเพียงช่วยภาพที่จะให้คุณรู้ว่า สถานะ ..
Peter.O

2

ซึ่งหมายความว่าระบบปฏิบัติการที่คุณดูไฟล์นั้นไม่สามารถตรวจพบจุดสิ้นสุดของไฟล์ (หากไฟล์นั้นมีทั้งหมด) บางครั้งสิ่งนี้เกิดขึ้นเมื่อคุณย้ายไฟล์ข้าม OS (i, e .. จาก MS ไปยัง * nix os)

ในกลุ่มถ้าไฟล์มี windows carriage return " ^M"คุณสามารถแก้ไขได้ด้วยคำสั่งต่อไปนี้: in vim do:

:%s/^M/\r/g

ความหมาย:

%      => select the whole buffer
s      => Search
/^M/   => find Windows Carrage return.
/\r/   =>  Replae it with *nix carrage return

หมายเหตุ: ใน Mac OX ^M is ctl+v && ctrl+m


-4

มันคือ'ไม่มี EOL' - ไม่มีจุดสิ้นสุดของตัวบ่งชี้บรรทัด มีประโยชน์มากถ้าคุณเปิดไฟล์ที่มีขนาดใหญ่มาก (> 1GB) Vim พยายามดึงทั้งหมดที่อยู่ใน 1 บรรทัด ตัวบ่งชี้นี้ช่วยให้ฉันปิดไฟล์อย่างรวดเร็วก่อนที่จะทำให้ระบบปฏิบัติการของฉันเสีย


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