textwidth = 0 และ wrapwidth = 0 ใน. vimrc.local ไม่ได้รับการเคารพ


11

ฉันมีบรรทัดต่อไปนี้ที่ด้านล่างของ. vimrc.local ของฉัน:

set textwidth=0 
set wrapmargin=0

อย่างไรก็ตามเมื่อใดก็ตามที่ฉันเปิดไฟล์ใหม่ค่าทั้งสองนี้จะถูกตั้งเป็นค่าเริ่มต้น (72 และ 2 ตามลำดับ) ไม่ใช่การตั้งค่าที่กำหนดเองของฉัน การตั้งค่าอื่น ๆ ในไฟล์. vimrc.local ของฉันดูเหมือนจะถูกตั้งค่า (แท็บ ฯลฯ ) แต่มีเพียงสองรายการเท่านั้นที่ถูกรีเซ็ต หากฉันป้อน:source ~/.vimrc.localการตั้งค่าเปลี่ยนและทำงานอย่างถูกต้อง

มีวิธีดูสิ่งที่ตั้งอะไรเมื่อ vim เริ่มต้นขึ้นหรือไม่ ฉันสงสัยว่าปลั๊กอินหรือการตั้งค่าบางอย่างที่มาพร้อมกับ MacVim หรือ Janus กำลังตั้งค่าตัวเลือกเหล่านี้ แต่ฉันไม่รู้วิธีดูการตั้งค่าทุกอย่างในครั้งเดียว


ฉันไม่เคยเห็น~/.vimrc.localมาก่อน รุ่นของเจนัสที่ผมพบว่าแหล่งที่มาของมัน (ถ้ามี) ที่ท้ายของvimrcไฟล์ (ซึ่งเป็นปลายทางของ~/.vimrcsymlink ว่ามันจะติดตั้งถ้าคุณใช้วิธีการติดตั้ง) อาจไม่ใช่ทุกรุ่นของ Janus ที่ทำเช่นนี้ - หลายคนดูเหมือนจะรวมหนึ่งที่ฉันพบในส้อมของพวกเขา แต่ฉันไม่รู้ว่านี่เป็น "ทางการ" หรือไม่ เพียงชี้แจงให้ชัดเจนว่าคุณได้รับ Janus ของคุณอยู่ที่ไหน ถ้าเป็น Git-based คุณยอมรับว่าใช้อะไร
Chris Johnsen

มูลค่าการอ่านนี้defaul formatoptions
anishjp

คำตอบ:


13

หากต้องการทราบว่าตั้งค่า 'textwidth' และ 'wrapmargin' ไว้ที่ใดแล้วให้ดำเนินการ

:verbose set tw? wm?

หากต้องการดูว่ามีแหล่งไฟล์ใดให้เรียกใช้งาน

:scriptnames

หากสิ่งเหล่านั้นไม่เพียงพอที่จะค้นหาปัญหาคุณสามารถใช้ตัวเลือก -V เมื่อ Vim เริ่มทำงานและบันทึกเหตุการณ์การเริ่มต้นต่างๆลงในไฟล์ ดู

:help -V

นอกจากนี้ค่าเริ่มต้นสำหรับ 'textwidth' และ 'wrapmargin' มีทั้ง 0 ไม่ใช่ 72 และ 2 ดังนั้นมีบางสิ่งที่ตั้งค่าเป็นค่าที่ไม่ใช่ค่าเริ่มต้น สำหรับค่าเริ่มต้นให้ดู

:help 'textwidth'
:help 'wrapmargin'

PS
สิ่งอื่นที่ควรตรวจสอบคือความเป็นไปได้ที่ปลั๊กอินประเภทไฟล์จะทำการตั้งค่าเหล่านั้น :verbose set ...คำสั่งควรจะแสดงที่ตั้งค่าเหล่านั้นมีการทำ แต่คุณยังสามารถรัน

:set filetype?

เพื่อดูประเภทไฟล์ปัจจุบันจากนั้นเปิด$VIMRUNTIME/ftplugin/<filetype>.vimโดยที่ <filetype> คือค่าของตัวเลือก 'filetype' ที่พบด้านบนเพื่อดูว่ามีการตั้งค่าเหล่านั้นอยู่ที่นั่นหรือไม่ คุณสามารถแทนที่การตั้งค่าที่ทำโดยปลั๊กอินชนิดไฟล์โดยวางการตั้งค่าของคุณในไฟล์ที่คุณสร้างชื่อ ~ / .vim / after / ftplugin / <filetype> .vim ดู

:help filetype-overrule

รายการ # 3


ปรากฎปัญหา~/.vimrcที่เกิดขึ้นซึ่งมาจาก Janus ฉันคาดว่าsource ~/.vimrc.localจะเป็นสิ่งสุดท้ายที่ถูกประหารชีวิต แต่มันเป็นการตั้งค่าสองสิ่งนี้ด้วยauคำสั่ง ดูเหมือนว่าการตั้งค่าในนั้น~/.vimrcมีตัวเลือกโวหารมากมายสำหรับคนที่ดูแล Janus ขอบคุณสำหรับการเขียนคำตอบที่จะช่วยฉันแก้ไขปัญหาเหล่านี้สำหรับตัวเองในอนาคต :)
เอียนพอตเตอร์

1
ฉันมาที่นี่ด้วยเนื่องจากปัญหานี้ใน Janus แต่ทราบว่าใน Janus ล่าสุด~/.vimrc.afterจะเริ่มทำงานล่าสุดอย่างไรก็ตามมีการกระทำที่เกิดขึ้นเฉพาะของ Python ดังนั้นฉันจึงต้องใช้งานau FileType python set softtabstop=4 tabstop=4 shiftwidth=4 textwidth=0มากกว่าแค่set textwidth=0ในไฟล์นั้น
philfreo

8

ฉันแก้ไขได้โดยเพิ่มสิ่งต่อไปนี้ในไฟล์. vimrc.localของฉัน:

" Disable annoying auto line break
fu! DisableBr()
    set wrap
    set linebreak
    set nolist  " list disables linebreak
    set textwidth=0
    set wrapmargin=0
    set fo-=t
endfu

" Disable line breaks for all file types
:au BufNewFile,BufRead *.* call DisableBr()

การดำเนินการนี้ควรปิดใช้งานตัวแบ่งบรรทัดอัตโนมัติที่ไม่ต้องการสำหรับไฟล์ทุกประเภท


1
ทำงานใน. vimrc.after เมื่อใช้ Janus
Eric Yang

1
Huzzah ขอบคุณ! นี่เป็นสิ่งเดียวที่ทำงานให้ฉัน ด้วยเหตุผลบางอย่าง (ฉันทำไม่ได้) macvim กำลังแทนที่ความกว้างของข้อความใน vimrc สำหรับไฟล์. txt
ด้านไหม้เมื่อ

0

สิ่งนี้จะช่วย:

(อาจBufAddและBufCreateซ้ำซ้อน แต่ฉันเพิ่มไว้ในกรณี)

function! DisableWrap()
    set nowrap
    set nolinebreak
    set formatoptions-=cro
endfunction
autocmd BufNew,BufAdd,BufCreate,VimEnter * call DisableWrap()
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.