จัดรูปแบบอัตโนมัติ: การตัดในบรรทัดต่อมาเมื่อแทรกข้อความ


9

หลังจากอ่านhelp textwithและhelp fo-tableฉันคาดว่าเมื่อฉันตั้ง

set textwidth=20  " for demonstration
set formatoptions=tcq

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

ตัวอย่าง (กลุ่ม 7.4):

12345678901234567890
This is a long line

บรรทัดจะตัดอัตโนมัติหากฉันกดAและเริ่มพิมพ์

แต่ถ้าฉันกด02wiและพิมพ์ "นิ่ง" มันจะไม่พันกัน:

12345678901234567890
This is still a long line

ฉันต้องพิมพ์อีก 7 ตัวอักษรก่อนที่มันจะห่อและจากนั้นปัญหายังคงอยู่ในบรรทัดถัดไป:

12345678901234567890
This is still more <-- it wraps here
typing and again a long line

การวางไม่ก่อให้เกิดการพันกัน:

12345678901234567890
This is a long line This text is pasted and not wrapped

ฉันคิดว่าสิ่งที่ฉันต้องการคือset fo+=aแต่ใช้กับระดับย่อหน้าในขณะที่ฉันไม่ต้องการให้การจัดรูปแบบอัตโนมัติของหนึ่งบรรทัดแพร่กระจายไปยังบรรทัดอื่น

หรือฉันไม่มีตัวเลือก?

เพื่อให้ชัดเจนหลังจากเปิดตัวvim -u NONEนี่คือสิ่งที่ฉันพิมพ์ (ความเห็นน้อยกว่า):

:set textwidth=20<CR>
:set formatoptions=tcq<CR>
iThis is a long line<ESC>
02wistill <ESC>                " no wrap happens, but I'd like it to
u
:let @r = "This text is pasted and not wrapped"<CR>
$"rp                           " no wrap happens, but I'd like it to

1
ดูเหมือนว่าจะทำงานได้ดีสำหรับฉัน ฉันเริ่ม Vim ด้วยvim -u NONEเพื่อป้องกันการโหลดไฟล์ vimrc สิ่งนี้แก้ไขปัญหาให้คุณได้หรือไม่? คุณเป็นเวอร์ชั่น Vim ใดบ้าง?
Martin Tournoij

ไม่นั่นไม่ได้ช่วยอะไร Vim 7.4 บน Windows และ Ubuntu
mgiuffrida

มีการpasteตั้งค่าโดยไม่ตั้งใจ? ลอง:set paste?
Volker Siegel

@VolkerSiegel ไม่pasteไม่ได้ตั้งค่า เมื่อpasteมีการตั้งค่าไม่มีการห่อเกิดขึ้นเลย
mgiuffrida

คำตอบ:


2

formatoptions=tcqawฉันมาข้ามวิธีการแก้ปัญหาบางส่วนใช้ โดยพื้นฐานแล้วคุณยังคงตัดย่อหน้าอัตโนมัติ แต่ย่อหน้าจะสิ้นสุดลงเมื่อบรรทัดไม่มีช่องว่างต่อท้ายซึ่งเหมาะสำหรับหลายกรณี

ใช้ตัวอย่างของคุณ (ด้วยการดัดแปลงเล็กน้อยไม่มีการเลิกทำและใช้ " <SPACE>นี่ ... ") ฉันได้รับผลลัพธ์นี้:

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