textwidth = 0 та wrapwidth = 0 у .vimrc.local не дотримуються


9

У нижній частині мого .vimrc.local є наступні рядки:

set textwidth=0 
set wrapmargin=0

Однак щоразу, коли я відкриваю новий файл, обидва ці значення встановлюються за замовчуванням (відповідно 72 і 2), а не моїми спеціальними налаштуваннями. Інші параметри мого .vimrc.local-файлу, здається, встановлені (вкладки тощо), але лише ці два тривають до скидання. Якщо я ввійшов :source ~/.vimrc.local, зміни налаштувань і працювати правильно.

Чи є спосіб поглянути на те, що встановлює що-небудь при запуску vim? Я підозрюю, що якийсь плагін або налаштування, які постачаються разом із MacVim або Janus, задають ці параметри, але я не знаю, як оглянути одразу всі налаштування.


Я ніколи раніше не бачив ~/.vimrc.local. Версія Януса , що я знайшов джерела його (якщо він існує) в кінці свого vimrcфайлу (який є пунктом призначення ~/.vimrcлинка , що він встановлює, якщо ви використовуєте його метод установки). Можливо, не всі версії Януса так роблять - багато людей, здається, зливають ту, яку я знайшов, у свої вилки, але я не маю уявлення, чи це «офіційна» чи ні. Просто для уточнення, де ти взяв свого Януса? Якщо це Git, який ви використовуєте?
Кріс Джонсен

Відповіді:


13

Щоб дізнатися, де останніми були встановлені «текстова ширина» та «обгортання», виконайте

: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Янусі". Я очікував, що source ~/.vimrc.localце останнє, що виконується, але це було встановлення цих двох за допомогою auкоманди. Здається, що налаштування ~/.vimrcмістять багато стилістичних виборів людей, які підтримують Януса. Дякую за написання відповіді, яка допоможе мені вирішити ці проблеми для себе в майбутньому. :)
Ян Поттер

1
Я також прийшов сюди через цю проблему в Янусі. Але зауважте, що в останньому Янусі ~/.vimrc.afterзапускається останнім, однак, наприклад, трапляється певна дія питона, тому мені довелося використовувати, 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
Ерік Ян

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()
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.