LINUX.ORG.RU

Новая (долгожданная некоторыми) опция в Vim

 


1

2

Брэм Мельник принял патч (Patch 7.4.338) от Christian Brabandt, добавляющий долгожданную (некоторыми) опцию:

set breakindent
Every wrapped line will continue visually indented
(same amount of space as the beginning of that line),
thus preserving horizontal blocks of text.

Для тех, кто не понял: с включенной опцией breakindent , строки, которые не вмещаются (wrapped lines) в текущий буфер имеют те же отступы, что и у начала строки.

Демонстрация:

" set breakindent

set breakindent

P.S.
А чем в это время занимается NeoVim, получивший ~$33K от сообщества, уже освоил тулзы для рефакторинга? :)

// написал не в Talks, т.к. анонимусы-вимеры не смогут в туда.

А можно отличить, какая строка действительно имеет вначале табы/пробелы, а какая смещена этой опцией?

orm-i-auga ★★★★★ ()
Ответ на: комментарий от VimCasts

Ну вот на твоих скриншотах после 373 строки в обоих случаях нет номера строки. И непонятно, является ли отступ невмещающейся строки результатом того что именно в этом месте в ней оказались пробельные символы, или это результат включенной опции.

orm-i-auga ★★★★★ ()
Ответ на: комментарий от orm-i-auga

после 373 строки в обоих случаях нет номера строки.

Единственный случай двусмысленности может возникнуть, когда перенос строки с очень большим отступом, тяжело такое представить, в любом случае, это настраивается, кроме этой опции добавлена настройка:

                                                'breakindentopt' 'briopt'
 'breakindentopt' 'briopt' string (default empty)
                         local to window
                         {not in Vi}
                         {not available when compiled without the +linebreak
                         feature}
         Settings for 'breakindent'. It can consist of the following optional
         items and must be seperated by a comma:
                 min:{n}     Minimum text width that will be kept after
                             applying 'breakindent', even if the resulting
                             text should normally be narrower. This prevents
                             text indented almost to the right window border
                             occupying lot of vertical space when broken.
                 shift:{n}   After applying 'breakindent', wrapped line
                             beginning will be shift by given number of
                             characters. It permits dynamic French paragraph
                             indentation (negative) or emphasizing the line
                             continuation (positive).
                 sbr         Display the 'showbreak' value before applying the
                             additional indent.
         The default value for min is 20 and shift is 0.

VimCasts ()

бред какой-то. никогда не задумывался над этой «долгожданной» фичей. а я то думал они visual lines запилили... вот уж точно нужная вещь. пилять, даже осьминого-ось-без-редактора умеет.

mos ★★☆☆☆ ()
Ответ на: комментарий от VimCasts

Попытался сделать пример, но похоже wrap работает умнее чем я ожидал, надо будет потом проверить вручную этот breakindentopt.

http://i024.radikal.ru/1406/4b/d57da2f1e1be.png

(7-я строка начинается с таким же отступом как 6-я)

orm-i-auga ★★★★★ ()

Хм... Не сказал бы, что ждал эту опцию, но польза от неё определенно будет.

postgred ()
Ответ на: комментарий от orm-i-auga

+1. Путаница, и только. Пользы не увидел, пожал плечами.

Krieger_Od ★★ ()

Ситуации, когда при просмотре или (упаси губка Боб) правке кода приходится включать wrap, и без того печальны, а эта хрень лишь добавит путаницы.

Gotf ★★★ ()
Ответ на: комментарий от hope13

перемещение по wrap'нутым строкам как по обычным. нажал j - переместился на экранную строку ниже, а не на логическую.

mos ★★☆☆☆ ()

set breakindent

Хм, для меня такой вариант выравнивания неудобен.

А чем в это время занимается NeoVim, получивший ~$33K от сообщества, уже освоил тулзы для рефакторинга? :)

Хороший вопрос.

andreyu ★★★★★ ()

2014 год на дворе, зачем оно нужно? Я не про опцию, опция-то я вижу зачем. Конфиги прекрасно редактируются гольным vi. Пакетная обработка не менее прекрасно делается sed-ом. Для основной писанины всё равно ставить графический редактор с графическими настройками, типа того что в эклипс встроен или в qtcreator. А это зачем? У меня тоже когда-то несколько лет назад был vimrc, что-то там даже напрограммировал себе. А потом всё сбросил и забыл, ни одной команды теперь не вспомню, кроме собственно :wq. Или это спецом для тех, кто набирает текст по 40 часов в неделю, или откуда такое повышенное внимание к такой второстепенной процедуре, как ввод с клавиатуры?

d_a ★★★★★ ()
Ответ на: комментарий от VimCasts

решил таки не писать «g не предлагать», но евангелисты такие евангелисты.

mos ★★☆☆☆ ()

Лучшеб движок подсветки синтаксиса нормальный сделали

vvviperrr ★★★★★ ()
Ответ на: комментарий от vvviperrr

Н-но там куча разных цветов, целая гора просто, глазикам хорошо. И L&F единообразный с остальными приложениями, где приходится набирать, такими как браузер, матлаб или техмейкер. И конфиги не надо синхронизировать, можно же просто всё по памяти настроить. И шрифт можно поставить пропорциональный, как у Страуструпа, и он, возможно, даже будет правильно работать. И горячие клавиши в другой раскладке работают довольно таки часто, что всякий раз экономит силы на их настройке. А уж набравшись сил можно и о судьбе детей в Уганде подумать.

d_a ★★★★★ ()
Ответ на: комментарий от d_a

Или это спецом для тех, кто набирает текст по 40 часов в неделю

Вспомнилось :)

- Сколько у тебя здесь оперaционных систем?

- Windows 95 для игрушек и нa случaй, если нaдо будет одолжить компьютер кaкому-нибудь «чaйнику», - говорит Ави. - Windows NT - для всякой офисной ерунды. BeOS - для прогрaммировaния и медийных штук. Finux - для печaтaния в промышленных мaсштaбaх.

xtraeft ★★☆☆ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.