เหตุใดฉันจึงไม่สามารถหยุดกลุ่มจากการรวมรหัสของฉันได้


116

ฉันไม่สามารถหยุดกลุ่มจากการตัดรหัส Python ของฉันได้ ถ้าฉันเข้ามา:set nowrapเหมือนแชมป์ แต่มันก็ยังคงอยู่

ฉันสามารถกดJเพื่อรวมบรรทัดแยกของรหัสได้ดังนั้นดูเหมือนว่ากำลังแทรกการกลับรถจริง ฉันไม่เข้าใจว่าทำไมหรือจะหยุดมันได้อย่างไร


15
:set nowrapป้องกันไม่ให้ตัดการแสดงเส้นเท่านั้นไม่ใช่จากการแทรกเส้นแบ่ง
rampion

คำตอบ:


115
'textwidth' 'tw'        number  (default 0)
                        local to buffer
                        {not in Vi}
        Maximum width of text that is being inserted.  A longer line will be
        broken after white space to get this width.  A zero value disables
        this.  'textwidth' is set to 0 when the 'paste' option is set.  When
        'textwidth' is zero, 'wrapmargin' may be used.  See also
        'formatoptions' and |ins-textwidth|.
        When 'formatexpr' is set it will be used to break the line.
        NOTE: This option is set to 0 when 'compatible' is set.


'wrapmargin' 'wm'       number  (default 0) 
                        local to buffer
        Number of characters from the right window border where wrapping
        starts.  When typing text beyond this limit, an <EOL> will be inserted
        and inserting continues on the next line.
        Options that add a margin, such as 'number' and 'foldcolumn', cause
        the text width to be further reduced.  This is Vi compatible.
        When 'textwidth' is non-zero, this option is not used. 
        See also 'formatoptions' and |ins-textwidth|.  {Vi: works differently
        and less usefully}

หากคุณอ้างถึงการตัดบรรทัดยาวอัตโนมัติเพื่อส่งไปยังบรรทัดถัดไปให้ลอง

:set textwidth=0 
:set wrapmargin=0

12
ปลั๊กอินบางตัวอาจลบล้างการตั้งค่านี้
Yzmir Ramirez

twและwpตัวเลือกไม่ได้จริงๆทำงานออกมาให้ฉันเพื่อให้ฉันได้ไปสำหรับformatoptions github.com/ain/.vim/blob/...
Ain Tohvri

2
หาก tw และ wp ยังไม่สามารถแก้ปัญหาได้ให้ดูที่โพสต์นี้ใน SU ซึ่งช่วยฉันแก้ปัญหาของฉันได้: superuser.com/questions/250112/…
Alien_SM

3
เอาออกfiletype plugin onจากฉัน.vimrcทำเพื่อฉัน

1
ด้วยคำตอบนี้คุณไม่สามารถใช้gqเพื่อปรับย่อหน้าให้เป็นแบบความกว้างข้อความได้ด้วยตนเอง @ Engineero ควรเป็นสิ่งที่ถูกต้อง
Dylanthepiguy

86

ไม่มีคำตอบอื่นใดที่เหมาะกับฉัน (IDK ทำไม)

:set wrap! เคล็ดลับสำหรับฉัน (ใช้ GVim สำหรับ Windows)


8
วิธีนี้ช่วยแก้ปัญหาที่แตกต่างกันเล็กน้อย wrapให้ลักษณะของเส้นตัด แต่ไม่จริงทำลายข้อความลงบนเส้นใหม่ คุณน่าจะwrapเปิดใช้งานจึง:set wrap!ปิดการใช้งาน คุณสามารถตรวจสอบได้:set wrap?ซึ่งจะสะท้อนค่าปัจจุบัน (เช่นwrapหรือnowrap)
shadowtalker

1
วิธีนี้ใช้ได้กับฉันที่ Mac OsX Vim version 7.4
Shnkc

สิ่งนี้ใช้ได้ผลสำหรับฉันฉันเปลี่ยนไปtextwidthและwrapmarginก่อนอื่น แต่สิ่งนี้บังคับให้กลุ่มนี้อัปเดตและแสดงผลโดยไม่มีเส้นที่ห่อหุ้มไว้
Kredns

ดิงดินดิง! ทำงานใน neovim
Gjaa

ช่างเป็นช่วงเวลาที่วิเศษจริงๆเมื่อคุณพบว่าคำสั่งที่คุณต้องการนั้นแสดงออกและเรียบง่ายมาก ขอบคุณ devs
Capitan Empanada

57

set formatoptions-=tควรทำเคล็ดลับ set formatoptions+=tจะเปิดการห่ออัตโนมัติอีกครั้ง

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับสิ่งที่คุณสามารถทำอะไรกับformatoptionsดูเอกสาร


2
ขอบคุณ! ทางออกของคุณมีทางเดียวที่ใช้ได้ผลสำหรับฉัน ไม่แทรกบรรทัดใหม่อีกต่อไปในบางครั้งเมื่อฉันเข้าสู่โหมดแทรก
Geremia

2
ได้. นี่คือทางออกที่แท้จริง
Russ Bateman

16

เพื่อป้องกันไม่ให้เป็นกลุ่มจากการตัดเส้นยาวฉันใช้สองบรรทัดนี้ใน.vimrc:

set nowrap           " do not automatically wrap on load
set formatoptions-=t " do not automatically wrap text when typing

12

หากต้องการปิดใช้งานการตัดบรรทัดคุณสามารถป้อน :set wrap!หรือต่อท้ายคำสั่งนี้กับ~/.vimrcไฟล์.


2
สิ่งนี้ไม่มีผลต่อการแทรกตัวแบ่งบรรทัดจริงโดยอัตโนมัติซึ่งคำถามนี้เกี่ยวกับ
Arthur Tacca

9

อาจเป็นค่าความกว้างข้อความที่ตั้งไว้ซึ่งจะแบ่งบรรทัดโดยอัตโนมัติเมื่อถึงความยาวที่กำหนดลอง

:set tw=0

หากล้มเหลวในการเล่นเช่น

:set wrap linebreak textwidth=0 

และ

:set virtualedit=insert

2
wrap และ linebreak ไม่ได้ใส่ end-of-lines ลงในบัฟเฟอร์ซึ่งดูเหมือนจะไม่ใช่ปัญหาของเขา
อ. เลวี่



0

ใน macbook pro ฉันแสดงเป็น. vimrc บรรทัด

autocmd FileType text setlocal textwidth=78

มันจึงกลายเป็น

"  autocmd FileType text setlocal textwidth=78

.

(ฉันติดตั้ง vim เวอร์ชันผ่าน homebrew) สิ่งนี้ช่วยได้สำหรับไฟล์. txt ทั้งหมด

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