Отключить перенос текста vim по типу файла - PullRequest
1 голос
/ 18 марта 2012

У меня есть раздел моего vimrc (который я не до конца понимаю), который переносит текст на 80 столбцов и, если такая строка есть, окрашивает лишний красный.

set textwidth=80
set tw=80
set wrap
highlight OverLength ctermbg=red ctermfg=white guibg=#592929
match OverLength /\%81v.\+/

В целом это работает довольно хорошо, но я хочу отключить все (обтекание и сопоставление), когда тип файла .py (и в принципе другие типы файлов).

Подобный, но не совсем тот же вопрос на Ограничение соответствия в vim определенными типами файлов?

1 Ответ

3 голосов
/ 18 марта 2012

Во-первых, примечание: tw и textwidth - это одно и то же (tw - это просто сокращенное имя, переменные обычно имеют длинную и короткую форму), поэтому вам нужна только одна из этих первых двух строк в любомcase.

Я подозреваю, что вы действительно ищете то, что я искал ранее, а именно: как сохранить настройки, специфичные для различных типов файлов.Это на самом деле становится довольно сложным, потому что некоторые настройки (например, textwidth) - это то, что vim называет «локальным для буфера», а другие (например, wrap) - «локальным для окна».Разница сводится к тому, что происходит, если вы (например) запускаете vim foo.txt, а затем используете :split, чтобы два окна смотрели foo.txt.Теперь есть один буфер, следовательно, один textwidth для foo.txt, но есть два окна, следовательно, два wrap s.

Пока вы не начнете использовать эту функцию для вещей, вы, вероятно, простохотите опробовать предложения в http://vim.wikia.com/wiki/VimTip1510 для того, чтобы каждая настройка зависела от того, на что установлена ​​filetype.Редактирование файла с именем foo.py будет использовать настройки Python, поскольку vim автоматически устанавливает filetype=python для файлов, имя которых заканчивается на .py.Вы можете вручную установить тип файла (:set filetype=whatever), если суффикс имени файла неизвестен или неоднозначен (например, при редактировании файла zog, у которого вообще нет суффикса, но на самом деле это сценарий оболочки, вы можете вручную :set filetype=sh), и есть много другой информации, которую вы можете найти, когда vim автоматически распознает определенные типы файлов.

(Примечание: я не согласен с их настройкой tabstop=4; я использую softtabstop=4 иsmarttabs и expandtabs, чтобы в моих файлах * .py не было ничего, кроме пробелов. Это позволяет избежать борьбы за размещение вкладок в каждых 4 или 8 столбцах. :-))

Что касается выделениядлинные строки в общем, смотрите http://vim.wikia.com/wiki/Highlight_long_lines для объяснения того, что вы делаете сейчас, и почему это устарело, если у вас vim 7.3.См. Также vim-80-column-layout-беспокойства .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...